出于学习目的,我创建了一个 LinkedList 类和一个 Node 类。
一旦我的 LinkedList 类只收到一个节点,我就无法在控制台中获得正确的输出。一旦我的 LinkedList 包含多个节点,一切看起来都很好。
这是我的 Node 类中的 toString 方法
@Override
public String toString() {
return "Node{" +
"value=" + value +
", next=" + next +
'}';
}
并来自linkedList类
@Override
public String toString() {
return "LinkedList{" +
"head=" + head +
", tail=" + tail +
", length=" + length +
'}';
}
如果我用两个节点运行链表,我得到
LinkedList{head=Node{value=1, next=Node{value=2, next=null}}, tail=Node{value=2, next=null}, length=2}
如果我只使用一个节点运行,则会出现 stackoverflow 错误
at Node.toString(Node.java:12)
at java.base/java.lang.String.valueOf(String.java:2951)
我怎么解决这个问题?