不管深拷贝还是浅拷贝对不可变数据类型都是引用内存地址
不管深拷贝还是浅拷贝对可变数据类型都是会重新创建新的内存空间
浅拷贝:
外层是不可变类型、不管内层是否可变都是引用拷贝外层是可变类型,不管内层是否可变都会从新创建新的内存空间深拷贝:
外层是不可变类型,会递归判断内层数据类型、如果可变则创建新的内存地址、都为不可变就是引用拷贝外层是可变数据类型、不管内层是否可变都会创新新的内存地址、但是内部如果为可变则递归创建、不可变则为引用地址浅拷贝:
浅拷贝只做最顶层的数据类型判断如果顶层是可变类型则创建新的内存空间如果顶层是不可变数据类型就是引用拷贝深拷贝:
深拷贝做递归拷贝,可以递归拷贝所有的内部嵌套数据(可以理解为循环遍历做浅拷贝判断)深拷贝递归拷贝遇到可变类型则创建新的内存空间深拷贝递归拷贝遇到不可变数据类型就是拷贝的引用转载于:https://www.cnblogs.com/valorchang/p/11471133.html
相关资源:JAVA上百实例源码以及开源项目