Java反射获取List的泛型

ゞ 浴缸里的玫瑰 2022-12-08 05:50 483阅读 0赞

Java反射获取List的泛型

  1. public static void main(String[] args) throws NoSuchFieldException {
  2. Field listField = ListTest.class.getDeclaredField("users");
  3. Type genericType = listField.getGenericType();
  4. System.err.println("genericType name " + genericType.getTypeName());
  5. ParameterizedType parameterizedType = (ParameterizedType) listField.getGenericType();
  6. Type[] actualTypes = parameterizedType.getActualTypeArguments();
  7. for (Type type : actualTypes) {
  8. System.out.println("type name: " + type.getTypeName());
  9. }
  10. Type ownerType = parameterizedType.getOwnerType();
  11. System.out.println("owner type :" + ownerType);
  12. Type rawType = parameterizedType.getRawType();
  13. System.out.println("rawTypw " + rawType.getTypeName());
  14. }

输出结果:

  1. genericType name java.util.List<java.lang.Integer>
  2. type name: java.lang.Integer
  3. owner type :null
  4. rawTypw java.util.List

发表评论

表情:
评论列表 (有 0 条评论,483人围观)

还没有评论,来说两句吧...

相关阅读