List深拷贝后数据还是被串改
- [List newList = new ArrayList<>(oldList)](#List newList = new ArrayList<>(oldList))
- newList.pushAll(oldList)
- 你甚至想到了java8streamAPI
- 以上还不行
List newList = new ArrayList<>(oldList)
这是采用构造参数做到的深拷贝,是没问题的
newList.pushAll(oldList)
将原数组的数据挨个放入,也可以认为是一种深拷贝
你甚至想到了java8streamAPI
用map()返回一个新的还是不行
以上还不行
如果你list的元素是基本类型,肯定已经解决了,看到这里,你已经想到深拷贝的问题,有没有再多想一步?深-深拷贝
其实你list的深拷贝已经没问题了,新鸡翅哇一吃莫多
元素没有深拷贝
传统功夫,点到为止