//覆盖旧属性,忽略source 的 null值的属性,不会再copy而是保有原来值
BeanUtils.copyProperties(source,outer,getNullPropertyNames(source));
//忽略source 的 null值的属性,不会再copy而是保有原来值
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());
if (srcValue == null) emptyNames.add(pd.getName());
}
String[] result = new String[emptyNames.size()];
return emptyNames.toArray(result);
}
copyProperties 忽略Source对象的 null值字段复制
于 2022-05-17 16:34:59 首次发布