也叫做浅复制和深复制
或浅克隆与深克隆
直接赋值
两个变量指向同一个对象,修改其中一个,会互相影响
nums1=[10,20,30,40]nums2=nums1nums2[3] = 99
浅拷贝
创建一个新的外层容器,但内部元素仍然引用原来的对象
浅拷贝存在的问题
嵌套数据仍然是共享的,修改嵌套数据会相互影响
深拷贝
创建一个新的外层容器,并对其内部所有的可变对象进行递归复制
深拷贝可以彻底消除数据之间的相互影响
深拷贝遇到【不可变对象】不会复制,会直接引用
元组中如果只包含不可变对象,则深拷贝没有效果
深拷贝缺点:
性能开销大:时间成本高,需要递归遍历整个对象图,对象层级越深,节点越多,耗时越长