0
我正在实现我的linkList的克隆,它是从库中没有LinkList写入的。 我的代码如下所示:如何克隆(深层拷贝)java linkList
public class myNode implements Cloneable {
private class1 obj1;
private myNode next;
//---- some immutables....
public object clone(){
try {
myNode cloneNode = super.clone();
}
catch (ClassNotSupported ex){
}
cloneNode.obj1 = this.obj1.clone();//This is implemented.
cloneNode.next = this.next.clone();
return cloneNode;
}
}
现在我的克隆方法的结果出来是一个计算器。 例如。如果我的MYNODE链表的样子:
“AA” - > “BB” - > “CC” - > “DD” - > “空”
然后,一旦我打电话克隆在这里没有显示的linkList的头部(在我的测试函数中),然后将linkList螺旋线克隆成无限循环,如下所示:
“aa” - >“bb” - > “aa” - >“bb” - >“aa” - > .....
Wh我在这里搞乱了。有人可以请帮助。
你不应该被前'cloneNode.next = this.next.clone检查''为null' next'( );'? – Kishore 2015-03-02 07:24:00
我正在检查它。不写在这里保持简单。 – 2015-03-02 07:26:35
即使您在连续节点上递归调用'clone()',如果有很多节点,您将获得stackoverflow例外。 – Kishore 2015-03-02 07:28:39