永发信息网

JAVA 中的浅拷贝是什么效果

答案:2  悬赏:0  手机版
解决时间 2021-03-29 02:00
  • 提问者网友:ミ烙印ゝ
  • 2021-03-28 13:47
JAVA 中的浅拷贝是什么效果
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-03-28 14:30
首先必须知道Java拷贝的用途:Java克隆是为了得到一个对象,这个对象与克隆前的对象完全一样,唯一不同就是它们所处的内存地址不相同。对于java中的一切对象(除了基本的数据结构int、float、string等之外)在进行赋值,方法传递的时候,都是一个内存地址的同一个对象! 所谓浅拷贝一般就是就是直接调用对象的clone()方法,这样的拷贝,对于这个对象中的基本数据类型(int、string、float等)的属性,是可以得到完全的拷贝,但是对于这个对象里面的非基本数据类型(对象、集合等)的某些属性,实际上并没有进行克隆,而只是进行一个赋值操作而已,也就是说克隆出来的对象与原对象有一部分内容的内存地址是相同的,这在某些情况下会造成出错! 由此提出了深拷贝的概念,即覆写clone()方法,遍历对象中的每一个属性,采取合适的方式进行克隆即可。例如对于对象中的集合,可以遍历集合,然后构造一个新的集合,重新存储一遍... 更过关于Java克隆的问题详见Blog。
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-03-28 15:05
只有基础类型和字符串类型的字段被拷贝
对象类型的字段只是做了个引用
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯