【发布时间】:2018-03-24 21:50:58
【问题描述】:
我试图让两个节点链接在一起。当n 添加s 作为链接时,s 也应该更新为添加n 作为链接。但是代码会调用自己并陷入无限循环,然后溢出。如何让节点相互分配,而不是递归分配自己?
public class Node {
Set<Node> connections = new HashSet<Node>();
public static void main(String args[]) {
Node n = new Node();
Node s = new Node();
n.addNode(s);
}
public Node() {
}
public void addNode(Node newNode) {
connections.add(newNode);
newNode.addNode(this);
}
}
更新:我添加了此代码以使该方法调用另一个 setter 方法。
public void addNode(Node newNode) {
connections.add(newNode);
newNode.addSingleNode(this);
}
protected void addSingleNode(Node newNode) {
connections.add(newNode);
}
}
【问题讨论】:
-
随着更新,您的问题似乎解决了。或者还有什么问题吗?
-
一切都好,只好等待超时。
-
啊,好吧。只是对您对问题的编辑感到困惑。通常,您不会通过编辑将解决方案包含在问题中。因此,我认为您有一个后续问题。