引用拷贝/对象拷贝/浅拷贝/深拷贝

引用拷贝

创建一个指向对象的引用变量的拷贝。

对象拷贝&浅拷贝

  • 对象拷贝:创建对象本身的一个副本。引用地址与原对象不同。
  • 浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主”对象进行拷贝,但不会复制主对象里面的对象。里面的对象会在原来的对象和它的副本之间共享。简而言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象

深拷贝

深拷贝是一个整个独立的对象拷贝,深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。简而言之,深拷贝把要复制的对象所引用的对象都复制了一遍

Java深入理解深拷贝和浅拷贝区别

posted @ 2023-01-31 17:40  Fogram  阅读(41)  评论(0编辑  收藏  举报