的泛型参数我正在使用反射来遍历一个类的字段成员,我需要知道列表<>子类,泛型类型参数是什么。确定列表<>
给定一个类型为List的子类的字段,如何以通用方式告诉列表<>的类型参数是什么?
例如:
class X<T> {
List<String> x1; // String
ArrayList<String> x2; // String
SubclassOfArrayListString x3; // String
List<?> x4; // error
List<T> x5; // error
}
class SubclassOfArrayListString extends ArrayList<String> {
// ...
}
注:我添加<T>
上面X说明,有可能是情况下,有没有一个正确的答案 - 它没有任何的问题,只是被一些在回答时考虑。
[获取泛型类型的java.util.List]可能的重复(http://stackoverflow.com/questions/1942644/get-generic-type-of-java-util-list) – BalusC
所以你想要的东西喜欢这个? x1 - > [class java.lang.String],x2 - > [Class java.lang.String],x3:class SubclassOfArrayListString,x4 - > [?](WildcardType),x5 - > [T](TypeVariable) –
Philipp :x3-> String,x4/x5是“undefined”,所以只要我可以确定它们还没有完整类型,那很好。 – slipheed