我正在学习 Java 泛型类型。
我有抽象类 AbstractInputdata。
public abstract class AbstractInputData {
....
}
一些扩展 AbstractInputData 的类
public class Email extends AbstractInputData{
...
}
public class Mobile extends AbstractInputData{
...
}
......
一种。
public class ProcessorA {
public static boolean isCustomData(AbstractInputData abstractInputData) {
....
}
}
B.
public class ProcessorB {
public static <T extends AbstractInputData> boolean isCustomData(T t) {
...
}
}
A 和 B 之间有什么区别吗?
最佳答案
唯一的区别是第二种方法通过反射显示为泛型类型方法。除了像这样的奇怪情况外,它的行为将相同
processorB.<MyType>isCustomData(t); // won't compile unless t is a MyType
您必须告诉它您希望它匹配什么类型,恕我直言,这不是那么有用。
关于java通用类型与参数的抽象类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18632197/