Java中深克隆,浅克隆是指什么
答案:2 悬赏:10
解决时间 2021-02-08 03:43
- 提问者网友:霸气大叔
- 2021-02-07 08:29
Java中深克隆,浅克隆是指什么
最佳答案
- 二级知识专家网友:迷人小乖乖
- 2021-02-07 08:48
克隆是指克隆对象,在堆空间复制一块内存,是完全的两个对象,不是指针指向!浅克隆是指克隆一个对象,而该对象的属性只是基本数据类型,只克隆出该对象!深度克隆是指克隆的目标里面还有引用类型,引用类型里还有引用类型,同时把引用类型克隆出来叫深度克隆!常用的方法有两种,第一,需克隆的对象实现cloneable接口;第二,使用commons包提供的克隆方法。这两种方法都能实现深度克隆!
全部回答
- 1楼网友:社会水太深
- 2021-02-07 09:24
浅克隆:仅仅复制所克隆的对象,而不复制它所引用的对象。
被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。
深克隆:把要复制的对象所引用的对象都复制了一遍。
那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。
很明显二者时间消耗有差距,在不影响的情况下尽量用浅克隆
注意区分与c语言的浅克隆深克隆 那个是引用地址与重新分配地址构建的区别,详细可以参见:
http://www.cnblogs.com/yxnchinahlj/archive/2010/09/20/1831615.html
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯