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

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

List newList = new ArrayList<>(oldList)

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

newList.pushAll(oldList)

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

你甚至想到了java8streamAPI

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

以上还不行

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

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

元素没有深拷贝

传统功夫,点到为止

相关推荐
AI进化营-智能译站2 分钟前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
TeDi TIVE42 分钟前
springboot和springframework版本依赖关系
java·spring boot·后端
二哈赛车手43 分钟前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法,以及ES,数据库泄密解决方案[超详细]
java·linux·数据库·spring boot·笔记·elasticsearch
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux开发核心自测题(全系列精华浓缩)
java·linux·运维
FQNmxDG4S1 小时前
JVM内存模型详解:堆、栈、方法区与垃圾回收
java·jvm·算法
jason.zeng@15022072 小时前
Androidr入门环境搭建
java·kotlin
摇滚侠2 小时前
整洁的桌面和任务栏 Java 开发工程师提效方法
java·开发语言
每天都要加油呀!2 小时前
多租户中间件适配
java·多租户
014-code3 小时前
Java 并发中的原子类
java·开发语言·并发
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题】【Java基础篇】第29题:静态代理和动态代理的区别是什么
java·开发语言·后端·面试·代理模式