User对象,有id和name两个属性
现在想额外新增address和age属性的值
//对象需要额外新增属性,无需在实体新增属性,返回所需信息
User user = new User();
String[] colStrings = {"a", "b", "c"};
user = CommonUtils.generateBean(user, colStrings);
BeanMap create = BeanMap.create(user);
create.put("address", "aaaaaaa");
create.put("age", "11");
user = (User) create.getBean();
System.out.println(CommonUtils.toJSONStringContainNullValue(user));
/**
* 动态添加属性值
* @param t 实体
* @param columns 属性数组
* @return
*/
@SuppressWarnings("unchecked")
public static <T> T generateBean(T t,String... columns){
BeanGenerator generator = new BeanGenerator();
generator.setSuperclass(t.getClass());
for(String str : columns){
generator.addProperty(str, Object.class);
}
Object o=generator.create();
BeanUtils.copyProperties(t, o);
return (T)o;
}