BeanUtils.copyProperties操作List集合失败的处理方法分享
今天在使用BeanUtils.copyProperties复制list时,出现失败,那么为什么会出现这个失败的现象呢?
出现这种现象的原因是由于:
BeanUtils.copyProperties(Object source, Object target)方法
source对象和target对象相应属性的名称和类型必须都一样才可以成功拷贝属性值
BeanUtils.copyProperties只对bean属性进行复制
此处复制属于浅复制
BeanUtils.copyProperties使用反射
直接将对象的引用set进去,并不是深拷贝
修复BeanUtils.copyProperties的方法
public class MyBeanUtils extends BeanUtils {
public static<T> List copyList(List<T> sourceList) {
if (CollectionUtils.isEmpty(sourceList)) {
return Collections.emptyList();
}
return JSON.parseArray(JSON.toJSONString(sourceList), sourceList.get(0).getClass());
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


