List深拷贝后,数据还是被串改

List深拷贝后数据还是被串改

List newList = new ArrayList<>(oldList)

这是采用构造参数做到的深拷贝,是没问题的

newList.pushAll(oldList)

将原数组的数据挨个放入,也可以认为是一种深拷贝

你甚至想到了java8streamAPI

用map()返回一个新的还是不行

以上还不行

如果你list的元素是基本类型,肯定已经解决了,看到这里,你已经想到深拷贝的问题,有没有再多想一步?深-深拷贝

其实你list的深拷贝已经没问题了,新鸡翅哇一吃莫多

元素没有深拷贝

传统功夫,点到为止

相关推荐
Shaoshing9 分钟前
缓存一致问题及常见解决方案
java·缓存
聚美智数15 分钟前
文档转换 API‑文档转 PDF‑PDF 转文档‑异步文档处理‑文件格式迁移‑转换结果回调推送 API 接口介绍
android·java·pdf
从零数据分析25 分钟前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
yuzhiboyouye38 分钟前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言
苜蓿muxu1 小时前
简述 ConcurrentHashMap 和 CopyOnWriteArrayList 的区别以及各自适用场景
java·编程语言
9527!到!1 小时前
Springboot @value读取配置参数踩坑&推荐解决方案
java·spring boot·spring
十年Java程序媛1 小时前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
337801 小时前
5分钟搞懂Spring的IoC和Bean管理
java
学到老活到老1 小时前
类已经加载了,为什么静态代码还没执行?
java·jvm
学到老活到老1 小时前
写了 new,就一定会在堆上分配对象吗?
java·jvm