すべてのクラスのすべてのField(親を含む)を取得

404 ワード

public static Field[] getAllFields(Object o){
    Class c= o.getClass();
    List fieldList = new ArrayList<>();
    while (c!= null){
        fieldList.addAll(new ArrayList<>(Arrays.asList(c.getDeclaredFields())));
        c= c.getSuperclass();
    }
    Field[] fields = new Field[fieldList.size()];
    fieldList.toArray(fields);
    return fields;
}