JAVA拷贝Map中的值到对象

在java中写接口,很多都是以JSON方式传参,  然后再序列化成各种对象~~~

Map也是其中一种,  但是呢,Map中的参数有可能是很多个对象属性都在里面,   难道我要一个个的去get(“aa”),get(“bb”),get(“cc”).......这样我觉得太low了。。。

然后我就写了一个拷贝的东西,   你只要给我一个Map,   一个对象,  我就把这个Map中的key=对象字段名的值,都拷贝到对象中去,  这样就不用一个个get,然后再去set了。。。

注意哦~~~   Map中的 key 要等于 字段名


代码代码代码代码代码代码代码代码代码代码!!

/**
	 * 根据Map中的key对应对象的属性来更新对象的值
	 * <li>
	 * 		updateProperties中的key必须跟bean中的字段名保持一致才能更新
	 * </li>
	 * @param updateProperties 要更新的字段以及值
	 * @param bean 要更新的对象
	 * @author wangyijie
	 */
	public static <T> void copyPropertiesInclude(Map<String, Object> updateProperties, T bean){
		 Set<Map.Entry<String, Object>> revisabilityFiledSet = updateProperties.entrySet();
		 for (Map.Entry<String, Object> entry : revisabilityFiledSet) {
			Object value = entry.getValue();
			if(value != null){
				try {
					org.apache.commons.beanutils.BeanUtils.setProperty(bean, entry.getKey(), value);
				} catch (Exception e) {
					logger.error("从Map{} 复制 到对象 {} 属性{} 错误key{} 异常", updateProperties.getClass(),bean.getClass(), entry.getKey(),e);
				}
			}
		}
	}


  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Run_the_ant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值