/**
* 根据Map 填充对象中与 key 相同 field名称的值
* @param tEntity 返回实体
* @param objectMap
* @param <T> 返回实体
* @return
*/
public static <T> T fillEntity(Class<T> tEntity,Map<String,Object> objectMap){
T entity= ClassUtil.createInstance(tEntity,true);
if(null==objectMap || objectMap.isEmpty()){
return entity;
}
List<Field> fields= Arrays.asList(tEntity.getDeclaredFields());
for(Map.Entry<String,Object> entry : objectMap.entrySet()){
Field field=fields.stream().filter(x->x.getName().equals(entry.getKey())).findFirst().orElse(null);
if(null != field && null != entry.getValue()){
field.setAccessible(true);
try {
field.set(entity, ConvertUtils.convert(entry.getValue(),field.getType()));
} catch (IllegalAccessException e) {
logger.error("fillEntity field:{} value:{} error:{}",field.getName(),entry.getValue());
}
}
}
return entity;
}
根据Map 填充对象中与 key 相同 field名称的值
最新推荐文章于 2023-05-25 11:11:02 发布