Java反射获取List的泛型
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
还没有评论,来说两句吧...