1、工具方法
/**
* @param obj(目标对象)
* @param javaName(字段名)
* @param value(字段值)
* @return
*/
public static Object setValByJavaName(Object obj, String javaName, String value) {
Class c = obj.getClass();
try {
Field f = c.getDeclaredField(javaName);
// 取消语⾔访问检查
f.setAccessible(true);
//给变量赋值
f.set(obj, value);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
2、代码测试
//创建对象
Person person = new Person("张三", 20000, 23, "男", "青岛");
//调用工具方法
this.setValByJavaName(person,"name","李四");
this.setValByJavaName(person,"area","上海");
//打印结果
System.out.println("person = " + person);
//结果:person = Person(name=李四, salary=20000, age=23, sex=男, area=上海)