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()); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。