对象反射赋值

版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/83053917

在不确定对象字段及内容的前提下,为对象赋值的解决方案通常是反射赋值

更多精彩

实现方式

// 获取当前会员对象
Class<MemberDTO> member = (Class<MemberDTO>) super.getMember().getClass();

// 获取所有字段
Field[] fileds = member.getDeclaredFields();

// 遍历字段找到与当前修改字段相符合的字段
for (Field field : fileds) {
	// ** 获取私有字段的操作权限
	field.setAccessible(true);

	if (field.getName().equals(name)) {
		// 找到字段对应 set 方法
		PropertyDescriptor pd = new PropertyDescriptor(field.getName(), member);
		Method method = pd.getWriteMethod();

		// 传入当前对象,并赋值
		method.invoke(super.getMember(), value);

		break;
	}
}

猜你喜欢

转载自blog.csdn.net/asing1elife/article/details/83053917
今日推荐