反射获取类的所有属性包括父类

来源:互联网 发布:python刷题原理 编辑:程序博客网 时间:2024/05/01 10:03
/** * 获取所有属性包括父类 * @param object * @return */public static Field[] getAllFields(Object object){    Class clazz = object.getClass();    List<Field> fieldList = new ArrayList<>();    while (clazz != null){        fieldList.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields())));        clazz = clazz.getSuperclass();    }    Field[] fields = new Field[fieldList.size()];    fieldList.toArray(fields);    return fields;}
//对属性进行处理
for (Field field : fields) {    int mod = field.getModifiers();    //跳过不可变动的常量    if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {        continue;    }
//设置属性为可修改    field.setAccessible(true);
}

阅读全文
0 0
原创粉丝点击