也许这不是一个大问题,但我无法弄清楚。有没有一种方法可以检查是否将类定义为泛型类型。我不想定义此类的实例,我只是想以某种方式知道该类是定义为普通类还是泛型类型类。
这将是第一个类,属于通用类型
public class MyGenericClass<T, G> {
public void someMethod(T firstParam, G secondParam){
// do something
}
}
这将是第二个和正常的类
public class AnotherClass {
public void someMethod(){
// do something
}
}
我想要一种方法来找出这个结果
isGenericType(MyGenericClass.class) --> true
isGenericType(AnotherClass.class) --> false
从Class<?> object
中可以检查cls.getTypeParameters()
。
从通用类中获得cls.getTypeParameters()
的非空数组。
从非泛型类获得一个空数组。
例如
TypeVariable
java.util.List.class.getTypeParameters()
TypeVariable[1] { E }