问题描述
浅复制:只复制基本数据类型。深复制:复制包括引用在内的所有内容。这个没搞错吧。。。。
解决方案
解决方案二:
看看这个帖子你们不会是同学吧?
解决方案三:
对test的深拷贝,等于说重新生成了一个test的对象,浅拷贝的话,直接super.clone就行了或者returnthispublicclassTest{privateinttotal;privateTesttest;publicTestgetTest(){returntest;}publicvoidsetTest(Testtest){this.test=test;}publicintgetTotal(){returntotal;}publicvoidsetTotal(inttotal){this.total=total;}publicObjectclone(){Testclone=newTest();clone.setTotal(this.getTotal());clone.setTest(this.getTest());returnclone;}}
附带一个二叉树的深拷贝简单代码:/***二叉树深拷贝*@paramnode*@paramtreeNode*/publicvoidcopy(BinTreeNode<T>node,BinTreeNode<T>treeNode){if(node==null){return;}else{treeNode.setValue(node.getValue());if(node.getLeftNode()!=null){BinTreeNode<T>tempNode=newBinTreeNode<T>();treeNode.setLeftNode(tempNode);copy(node.getLeftNode(),tempNode);}if(node.getRightNode()!=null){BinTreeNode<T>tempNode=newBinTreeNode<T>();treeNode.setRightNode(tempNode);copy(node.getRightNode(),tempNode);}}}
解决方案四:
该回复于2010-11-16 09:25:04被版主删除