当遇到list浅拷贝的问题

来源:互联网 发布:前端算是程序员吗 编辑:程序博客网 时间:2024/06/08 03:27

        近期做项目中,因为想通过list的addAll()实现list的拷贝,结果发现修改拷贝的集合,原集合也发生了变化,用new ArrayList(旧集合)这样也是拷贝,修改新集合就是修改旧集合,这样都是浅拷贝。

        如何进行深拷贝,查看资料,有的人采用的是遍历的方式,也有人采用把对象通过对象流的方式转化为byte数组,再转换为对象,也可以通过对象-> json ->对象的方式来实现list的拷贝,经我测试发现,对象流的方式比json的方式要快,选择方面就看你自己的喜好了,对象流的方式,可以考虑一些第三方的框架(如kryo-manual、fst等很多了,你查查看,这样主要摆脱对jdk版本的依赖)来实现对象流来实现序列化。

       就到这里,如果有问题,希望大家不吝赐教。

0 0
原创粉丝点击