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

利用java反射获取和设置属性值

2018-03-26 18:46 465 查看
/**
* 根据属性名获取属性值
*
* @param fieldName
* @param object
* @return
*/
private String getFieldValueByFieldName(String fieldName, Object object) {
try {
Field field = object.getClass().getDeclaredField(fieldName);
//设置对象的访问权限,保证对private的属性的访问
field.setAccessible(true);
return  (String)field.get(object);
} catch (Exception e) {
log.error(e.getMessage(),e);
return null;
}
}

/**
* 根据属性名设置属性值
*
* @param fieldName
* @param object
* @return
*/
private void setFieldValueByFieldName(String fieldName, Object object,String value) {
try {
        // 获取obj类的字节文件对象
        Class c = object.getClass();
        // 获取该类的成员变量
        Field f = c.getDeclaredField(fieldName);
        // 取消语言访问检查
        f.setAccessible(true);
        // 给变量赋值
        f.set(object, value);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: