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

假设有个对象里有一个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的对象类型。

posted @ 2015-04-08 10:52  涂墨留香  阅读(580)  评论(0编辑  收藏  举报