Java反射获取List的泛型
public static void main(String[] args) throws NoSuchFieldException {
Field listField = ListTest.class.getDeclaredField("users");
Type genericType = listField.getGenericType();
System.err.println("genericType name " + genericType.getTypeName());
ParameterizedType parameterizedType = (ParameterizedType) listField.getGenericType();
Type[] actualTypes = parameterizedType.getActualTypeArguments();
for (Type type : actualTypes) {
System.out.println("type name: " + type.getTypeName());
}
Type ownerType = parameterizedType.getOwnerType();
System.out.println("owner type :" + ownerType);
Type rawType = parameterizedType.getRawType();
System.out.println("rawTypw " + rawType.getTypeName());
}
输出结果:
genericType name java.util.List<java.lang.Integer>
type name: java.lang.Integer
owner type :null
rawTypw java.util.List
本文介绍了一种使用Java反射机制来获取List泛型类型的方法。通过声明一个包含List字段的类并使用反射获取该字段的泛型信息,演示了如何读取具体的泛型类型名称。
782

被折叠的 条评论
为什么被折叠?



