getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。
getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
同样类似的还有getConstructors()和getDeclaredConstructors()、getMethods()和getDeclaredMethods(),这两者分别表示获取某个类的方法、构造函数。
字段生成map
/**
* 字段生产map
*
* @return
*/
public Map toMap() {
Map map = new HashMap();
//获取这个类得所有字段
Field[] fields = this.getClass().getDeclaredFields();
for (Field field : fields) {
Object obj;
try {
obj = field.get(this);
if (obj != null) {
map.put(field.getName(), obj);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
本文介绍如何使用Java反射API中的getDeclaredFields方法获取类的所有字段,并将其转换为Map对象。这种方法可以方便地操作对象的属性。

1267

被折叠的 条评论
为什么被折叠?



