java克隆
swordhxc
2009-11-25
讨论下:clone()
何为影子克隆 何为深度克隆 |
|
blue3377
2009-11-25
我对Clone一定都不了解。我都没有用 过。
|
|
moze1988
2009-11-30
这个应该是浅复制与深复制的问题:
浅复制只复制对象内容而不复制其引用 深复制就存在一个遍历的过程 |
|
Heart.X.Raid
2009-12-29
可以看看这篇文章http://hxraid.iteye.com/blog/428920
|
|
uin57
2010-02-07
所谓影子克隆是指 你得到的只是一个对象的引用
深度克隆 是指 你的得到的是一个 对象的副本 |
|
好彩哥
2010-03-26
uin57 写道 所谓影子克隆是指 你得到的只是一个对象的引用
深度克隆 是指 你的得到的是一个 对象的副本 精辟!!! |
|
w.bean
2010-04-18
影子clone: 调用Object类中clone()方法是先在内存中开辟一块和原始对象一样的空间,然后原样拷贝原始对象中的内容。对基本数据类型,这样的操作是没有问题的,但对非基本类型变量,我们知道它们保存的仅仅是对象的引用,这也导致clone后的非基本类型变量和原始对象中相应的变量指向的是同一个对象。
o.strBuf = new StringBuffer(strBuf.toString());
另外,除了基本数据类型能自动实现深度clone以外,String对象是一个例外,它clone后的表现好象也实现了深度clone,虽然这只是一个假象。
|
|
Anddy
2010-05-05
我在楼上的基础上补充一点,
说说clone()这个方法的真正原理:Object对象中的clone()方法是将内存中的对象以二进制的方式进行拷贝,重新分配了一个内存区。由于这个复制方式,导致clone出新的对象过程中并没有执行构造函数。 String没有实现clone方法,主要原因在于“虚拟机中的字符池”的影响。 |
|
zcmerjade
2010-06-29
告诉你一个简单的方法,将要类实现序列化,读出来的就是深克隆的了。
|
|
mohunter12
2010-07-05
深度克隆得到新的对象。
|