打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
java反射设置属性值和赋值,简单实用
wwq图书世界
>《待分类》
2019.10.26
关注
package com.shentb.hmb.utils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflexUtils {
/**
* 反射根据属性名获取属性值
*
* @param fieldName 属性名
* @param object 实体类对象
* @return
*/
public static Object getFieldValueByFieldName(String fieldName, Object object) {
try {
Field field = object.getClass().getDeclaredField(fieldName);
//设置对象的访问权限,保证对private的属性的访问
field.setAccessible(true);
return field.get(object);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 通过反射设置属性的值
* @param fieldName 属性名
* @param fieldValue 属性值
* @param object 实体类对象
* @param parameterTypes 设置属性值的类型
* @throws
*/
public static void setFieldValueByFieldName(String fieldName,Object fieldValue,Object object,Class<?>... parameterTypes) {
try {
Field[] fields = object.getClass().getDeclaredFields();
for(int i=0;i<fields.length;i++){
Field field = fields[i];
//字段名称
String name = field.getName();
if(name.equals(fieldName)){
field.setAccessible(true);
//field.set(object,fieldValue) 可代替下面的拼接set方法;
//将属性的首字符大写,方便构造get,set方法
String methname = name.substring(0,1).toUpperCase()+name.substring(1);
Method m = object.getClass().getMethod("set" + methname,parameterTypes);
m.invoke(object,fieldValue);
}
}
}catch (Exception e){
e.printStackTrace();
}
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
反射的应用 将form表单的数据自动封装为对象
Java反射机制获取父类属性
xml转换为java对象
学习:java原理
org.springside.modules.utils.ReflectionUtils
Java 反射工具类
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×