我有
Class<? extends Object> class1 = obj.getClass();
Field[] fields = class1.getDeclaredFields();
for (Field aField : fields) {
aField.setAccessible(true);
if (aField.getType().isArray()) {
for (?? vals : aField) {
System.out.println(vals);
}
}
}
最佳答案
你会使用这样的东西:
if (aField.getType().isArray()) {
Object array = aField.get(obj);
int length = Array.getLength(array);
for (int i = 0; i < length; i++) {
System.out.println(Array.get(array, i));
}
}
换句话说,您首先使用 Field.get
从字段中获取值,然后使用 java.lang.reflect.Array
辅助类来访问长度和各个元素。
关于java - 如何以反射方式遍历数组字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2941800/