Java Reflection isArray () всегда false

Ответов: 3


7 принят

field.getType()!


4

Ваш код должен читать

Field fields[] = obj.getClass().getDeclaredFields();

for(Field field : fields) {
  if(field.getType().isArray()){
     //Actually works
  }
}

Использование field.getClass (), поскольку вы всегда будете возвращать Field.class или экземпляр класса подкласса поля *.

* Приносим извинения за такое смехотворно сформулированное предложение.


0

Вы проверяете отдельные элементы полей, а не сам массив.

Java, массивы, отражение,
Похожие вопросы