Я использую самоанализ для получения методов получения bean-компонентов, и я хотел бы иметь возможность определить, является ли результат массивом или примитивом, но я всегда получаю ложный ответ.Даже когда я знаю, что типом является ArrayList.На этой же ноте, будет ли isArray () работать для всех типов массивов, таких как примитивный Array, 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.
}