您的位置:首页 > 编程语言 > Java开发

JAVA 反射访问字段(含私有)的名称、类型、值

2013-11-07 11:10 405 查看
1.反射方法

public void test(Object o) throws IllegalArgumentException,
IllegalAccessException, InvocationTargetException,
IntrospectionException {
Field[] fields = o.getClass().getDeclaredFields();
for (Field f : fields) {
// 设置允许访问私有字段的值
f.setAccessible(true);
// 取得字段名称
String name = f.getName();
// 取得字段类型的简单名称,java.lang.String-->String
String type = f.getType().getSimpleName();
// 取得字段值
Object value = f.get(o);
System.out.println(name + "," + type + "," + value.toString());
// 重新设置字段的值[必须设置f.setAccessible(true),否则无法访问私有字段的值]
if (name.equals("name") && value != null
&& value.toString().equals("123")) {
f.set(o, "456");
System.out.println(f.get(o).toString());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: