私はjava.reflectionで解析したいクラスがあります。 私は他のオブジェクトのArraylistを持つクラスを作成しました。 ArrayListを持つクラスを解析したいとき、クラスは再帰されますが、Arraylistのサイズを取得する方法はわかりません。反射を使ってオブジェクトからarraylistサイズを取得する
コードを添付しました。
public class Department { private ArrayList Students;
public Department() {
super();
Students = new ArrayList<>();
}
public Department(ArrayList<Student> students) {
super();
Students = students;
}
public void addStudent(Student student){
if(student != null){
this.Students.add(student);
}
}
@Override
public String toString() {
return "Class [Students=" + Students + "]";
}
public static void analyze2(Object obj){
Class c = obj.getClass();
Field[] fieldType= c.getDeclaredFields();
ArrayList<?> ob = new ArrayList<>();
System.out.println(obj.toString());
for(Field field : fieldType){
Class cd = field.getType();
ob = (ArrayList<?>) cd.cast(ob);
System.out.println(field.getName()+" "+ field.getType());
System.out.println(ob.size());
}
}
ありがとうございました!できます –