Java 获取集合的泛型类型
2022-09-04 20:54:57
我的项目包括反射,我目前正在处理泛型类型。我已经设法从List(java.util.List)中获取了泛型类型:
if(originalField.getGenericType() instanceof ParameterizedType){
ParameterizedType pt = (ParameterizedType) originalField.getGenericType();
Class<?> subClass = (Class<?>) pt.getActualTypeArguments()[0];
}
我也有一个,事实证明,集合不能被强制转换为参数化类型。Collection<String>
有人知道如何从集合中获取字符串(或任何类型)?
我一直在阅读有关java擦除的内容,因此我知道这一点,但是在从列表中取出通用后,我想也许有人知道另一个“技巧”。
谢谢。
编辑:我正在迭代类的所有字段:
for (Field originalField : someClass.getDeclaredFields())
然后当我面对一些字段时,使用上面的代码,我得到作为子类变量。List<String>
String