我正在实现我的linkList的克隆,它是从库中没有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;
}
}
现在我的克隆方法的结果将成为一个stackoverflow。 例如。如果我的myNode linkList看起来像:
" AA" - >" BB" - >" CC" - >" DD" - &GT ;"空"
然后,当我在这里未显示的linkList上调用clone时,(在我的测试函数中)然后将linkList的克隆螺旋形成无限循环,看起来像:
" AA" - >" BB" - >" AA" - >" BB" - &GT ;" AA" - > .....
我在这里搞砸了什么。有人可以帮忙。
答案 0 :(得分:0)
您的克隆方法存在问题,您可以简单地将代码编辑为:
public object clone(){
try {
myNode cloneNode = (myNode)super.clone();
cloneNode.obj1= class1.clone();
}
catch (ClassNotSupported ex){
}
return cloneNode;
}