工具方法补充,复制非空属性对象,可用于通用数据更新
2018-01-26 17:09
811 查看
/** * 复制非空属性 * @param src * @param target */ public static void copyNonNullProperties(Object src, Object target) { BeanUtils.copyProperties(src, target, getNullPropertyNames(src)); } /** * 获取对象空属性集合 * @param source * @return */ public static String[] getNullPropertyNames (Object source) { final BeanWrapper src = new BeanWrapperImpl(source); java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors(); Set<String> emptyNames = new HashSet<String>(); for(java.beans.PropertyDescriptor pd : pds) { Object srcValue = src.getPropertyValue(pd.getName()); logger.debug("update:"+pd.getName()+"--" + srcValue); if (srcValue == null) emptyNames.add(pd.getName()); } String[] result = new String[emptyNames.size()]; return emptyNames.toArray(result); }
相关文章推荐
- Object.assign() 方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
- apache 关于对象数据的复制工具PropertyUtils类和 BeanUtils类的 copyProperties方法
- 更新对象属性值的通用方法
- 更新 JScript IntelliSense 时出错: D:\jqueryT\js\jquery-1.3.2.js: 对象不支持此属性或方法 @ 2139:1
- 写一个方法进行各种属性的更新,而不要每个界面设置改变都改变一个属性。就是点击应用或确定按钮时调用这个更新属性的方法,遍历所有(控制对象属性的)界面控件的状态(值),进行属性修改和刷新。
- winform 数据绑定 对象的属性,后台异步更新此对象的属性产生异常
- ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- 输出一个javascript对象的所有属性和方法,用于Debug
- 最高效率的对象深拷贝通用方法(2012.12.12更新)
- (转)逐步为对象集合构建一个通用的按指定属性排序的方法
- 用于组织,测试和操作对象及类的工具和技术-6 方法调用
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- 数据表DataTable对象的常用属性及常用方法
- 关于Javascript与表单结合时出现"对象不支持此属性或方法"的问题总结(不断更新中...)
- POJO对象set数据的泛型方法(通用方法)
- 使用SqlBulkCopy对象进行大容量复制数据出现Datardader已经存在的错误的解决方法
- ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- 数据表DataTable对象的常用属性及常用方法
- linq to sql统一更新方法,直接返回更新的对象(解决更新后再刷新数据错误显示问题)