根据Hashmap中存储的参数名称,或String类型的参数名,获取实体类中的参数
假设,现有一个实体类message,里面已经赋值过了
Message0XB00Entity message = new Message0XB00Entity;
然后,有一个HashMap,里面的key是通过逻辑过滤之后,得到的map,map的Key就是实体类的参数名称
Map<String, Boolean> filterMap = MapUtil.filter(map, (Filter<Map.Entry<String, Boolean>>) t ->!t.getValue()
最后,从map里遍历出key,通过反射,先get到message的参数,在set到一个新的实体类中
Message0XB00Entity messageUpdate = new Message0XB00Entity();
for (String key : filterMap.keySet()) {
//通过反射,得到message中的参数名为key的get方法中的参数
Object fieldValue = ReflectUtil.getFieldValue(afterUpdateMsg, key);
//通过反射,得到字段名称为key的set方法,向messageUpdate中,set进参数
ReflectUtil.setFieldValue(messageUpdate, key, fieldValue);
}
System.out.println(messageUpdate);
ReflectUtil工具类需要加入依赖:
<!--hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.1.2</version>
</dependency>