通过反射获取列表属性里保存的对象类型

假设有个对象里有一个list<Object> listProperty 属性,要获取Object的类型:

Class<?> typeClass = field.getType();

if (List.class.isAssignableFrom(typeClass)) {

      Type fieldType = field.getGenericType();

       if (fieldType instanceof ParameterizedType) {

               ParameterizedType paramType = (ParameterizedType) fieldType;

               Type[] genericTypes = paramType.getActualTypeArguments();

               if (genericTypes != null && genericTypes.length > 0) {

                        if (genericTypes[0] instanceof Class<?>) {

                              Class<?> subType = (Class<?>) genericTypes[0];

                        }

               }

       }

}

其中subType就是Object的对象类型。

你可能感兴趣的:(反射)