所以这是代码
void add(String data) {
Link newLink = new Link(data);
newLink.next = firstLink;
firstLink = newLink;
}
如果我们只有一个元素,则firstLink.next将指向自身,即firsLink(因为newLink.next = firstLink;),因此它不会为null。
如果我们有这样的打印方法:
void print() {
Link currentLink = firstLink;
while (currentLink != null) {
System.out.println(currentLink.data);
currentLink = currentLink.next;
}
}
这应该是一个无限循环,但是实际上当我在Eclipse中启动它时,它不是正确的。
我的问题是为什么?
最佳答案
如果只有一个元素,则添加第一个元素时firstLink
为null。
这意味着您的add()
方法是这样的:
void add(String data) {
Link newLink = new Link(data); // create new link
newLink.next = firstLink; // set newLink.next = null
firstLink = newLink; // make newLink the first link
}