[英]Check if a class is generic type
也許這不是一個大問題,但我無法弄清楚。 有沒有辦法檢查 class 是否被定義為泛型類型。 我不想定義這個 class 的實例,我只是想知道,如果這個 class 被定義為普通的 class 或 20AB61A2D2ED4FDCC4 泛型類型 class。
這將是第一個 Class,它的類型是 Generic
public class MyGenericClass<T, G> {
public void someMethod(T firstParam, G secondParam){
// do something
}
}
這將是第二個也是正常的 Class
public class AnotherClass {
public void someMethod(){
// do something
}
}
我想要一種方法來找出這個結果
isGenericType(MyGenericClass.class) --> true
isGenericType(AnotherClass.class) --> false
從Class<?> object
您可以檢查cls.getTypeParameters()
。
從通用 class 你得到一個非空的TypeVariable
數組。
從非通用 class 你得到一個空數組。
例如
java.util.List.class.getTypeParameters()
TypeVariable[1] { E }
String.class.getTypeParameters()
TypeVariable[0] {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.