我想知道是否有人知道如何使用反射来获取数组对象的大小?
我有一个Vehicles组件,其中包含一个Car类型的数组对象。
车辆.java
public class Vehicles{
private Car[] cars;
// Getter and Setters
}
汽车.java
public class Car{
private String type;
private String make;
private String model;
// Getter and Setters
}
我想知道如何使用 Java 反射获得车辆组件中汽车数组的大小?
我目前有以下内容:
final Field[] fields = vehicles.getClass().getDeclaredFields();
if(fields.length != 0){
for(Field field : fields){
if(field.getType().isArray()){
System.out.println("Array of: " + field.getType());
System.out.println(" Length: " + Array.getLength(field.getType()));
}
}
}
这会导致以下错误:
java.lang.IllegalArgumentException: Argument is not an array
at java.lang.reflect.Array.getLength(Native Method)
有任何想法吗?