【发布时间】:2012-01-31 04:12:24
【问题描述】:
我正在使用自省来检索 bean 的 get 方法,我希望能够确定结果是数组还是 Primitive,但我总是得到错误的响应。即使我知道类型是 ArrayList。同样,isArray() 是否适用于所有类型的数组,例如原始数组、ArrayList 等?
Class<?> className = bean1.getClass();
ArrayList<ComparatorValue> updateIndexes = new ArrayList<ComparatorValue>();
BeanInfo beanInfo = Introspector.getBeanInfo(className);
PropertyDescriptor classProperties[] = beanInfo.getPropertyDescriptors();
for(int i=0; i<classProperties.length; i++) {
Method getter = classProperties[i].getReadMethod();
System.out.println(getter.invoke(bean1).getClass().isArray()); //Always false.
System.out.println(getter.invoke(bean1).getClass().isPrimitive()); //Always false.
}
【问题讨论】:
标签: java introspection