概述
场景:实现可配置的Url拼接,便于web端对接对某些参数进行调整,url格式有一定的规律可控性,只需要对其中某些字段做修改控制。
替换实现方法
1.提取对象中value值为null的属性字段
public static String[] getNUllPropertyNames(Object source){
final BeanWrapper src = new BeanWrapperImpl(source);
PropertyDescriptor[] pds = src.getPropertyDescriptors();
Set<String> emptyNames = new HashSet<>();
for (PropertyDescriptor pd : pds) {
Object srcValue = src.getPropertyValue(pd.getName());
if(srcValue == null){
emptyNames.add(pd.getName());
}
}
String[] result = new String[emptyNames.size()];
return emptyNames.toArray(result);
}
2.使用BeanUtil.copyProperties(source,target,getNullPropertyNames(source))
将上述的空值属性名排除,这样就可以完成替换
/**
* 将提供的source类型信息 替换为目标拼接信息target
* @param source 需要修改的信息
* @param target 生成新的结构信息
* @return
*/
public static Object copyNoNullProperties(Object source,Object target){
BeanUtil.copyProperties(source,target,getNUllPropertyNames(source));
return target;
}
3.根据上述方法,获取原信息,得到前端存库需要替换信息,完成替换。
由于产生的数据这里采取了Object形式进行接收,这里采取反射,将它转换为JSON格式并返回相应原数据类型
Object copyresult = copyNoNullProperties(setInfo, thirdUrlInfo1);
JSONObject jsonInfo = JSONUtil.parseObj(copyresult);
ThirdUrlInfo result = JSONUtil.toBean(jsonInfo, thirdUrlInfo.getClass());
System.out.println(result);
最后
以上就是清脆招牌为你收集整理的非空对象属性value替换替换实现方法的全部内容,希望文章能够帮你解决非空对象属性value替换替换实现方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复