Object类中clone()的使用方法,最好能举例说明
Object类中clone()的使用方法,最好能举例说明
clone()方法
class A implements Cloneable{ //must implements Cloneable interface
public Object clone(){ //overload & use public to declare
CloneClass o = null;
try{
o = (A)super.clone(); //invoke super.clone()
}catch(CloneNotSupportedException e){
e.printStackTrace();
}
return o;
}
在java中解决浅复制问题方法如下:
1.假如现在对象B1(class is B)要被复制为对象B2,并且对象B1中包含了一个对象引用A1(class is A),那么类B需要实现clone(),同时类A也需要实现clone(),然后在类B中,使用B.A = (A)A.clone();即对B中每一个引用也使用clone进行复制。
2.类StringBuffer为final类型,并且没有实现clone()方法,所以不能进行上面方法实现深度复制,一种可行的方法是先判断该引用是不是StringBuffer,如果是,使用B.strBuff = new StringBuffer(strBuff.toString());
3.类String虽不是简单数据类型,但却可以自动实现深度复制,假象,挺好的。
本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/tqtuuuu/archive/2010/03/24/5413779.aspx
http://www.javaeye.com/topic/483469
你去看看 应该就明白了
说的比较好!