java Generic Type vs参数的抽象类

So *_*nzi 3 java generics parameters abstract generic-type-argument

我正在学习Java Generic类型.

我有抽象类AbstractInputdata.

public abstract class AbstractInputData {
....
}
Run Code Online (Sandbox Code Playgroud)

一些扩展AbstractInputData的类

public class Email extends AbstractInputData{
...
}
public class Mobile extends AbstractInputData{
...
}
......
Run Code Online (Sandbox Code Playgroud)

一个.

public class ProcessorA {
public static boolean isCustomData(AbstractInputData abstractInputData) {
....
}
}
Run Code Online (Sandbox Code Playgroud)

B.

public class ProcessorB {
public static <T extends AbstractInputData> boolean isCustomData(T t) {
...
}
}
Run Code Online (Sandbox Code Playgroud)

A和B之间有什么区别吗?

Pet*_*rey 5

唯一的区别是第二种方法通过Reflections显示为通用类型方法.除了像这样的奇怪情况之外,它的行为是相同的

processorB.<MyType>isCustomData(t); // won't compile unless t is a MyType
Run Code Online (Sandbox Code Playgroud)

你必须告诉它你希望它匹配什么类型,这不是有用的恕我直言.