JavaSE问题java对象克隆的优点

搞不明白为什么要有克隆这个概念,完全可以用引用传递来代替啊?请您帮忙,麻烦您了!

第1个回答  2010-05-21
克隆是另一个作用,比如,你要传递给另一个对象的某个方法method的参数中包含A对象,但是,你不知道这个方法是不是对你的A进行了修改,而你又不想他修改,或者说他修改了也不会对你有任何影响,你就可以使用克隆来完成这个任务。这样即使他修改了,也只是对你的克隆对象的修改,而没有对你的那个对象本身进行修改。

克隆还有一个作用,对于数据bean,如果你有beanA,想快速创建一个类似的beanB,而只是其中的一两个属性不一样,就可以使用克隆来完成了。

克隆还需要注意深度克隆的问题,举个例子:
你的对象A中包含了对象B,对象A实现了克隆,对象B没有实现克隆,如果你在对A进行克隆的时候,克隆成对象A2,则A2中也包含对象B,而且,这两个引用是一样的,如果你修改A对象中的B对象的某个值,也会修改到A2对象中的B对象的对应属性的值。本回答被提问者采纳
相似回答