我正在使用Java中的链表实现堆栈。问题是当下面没有元素时,我得到一个nullPointerException。 StackNode.link不存在。因此,如果我尝试分配StackNode.link,则会收到异常。
使用if语句仅在存在的情况下运行代码,我只是在if语句中获得了Exception。我该怎么办?
int pop() {
StackNode temp = top;
// update top
top = belowTop;
belowTop = top.link; // this is where I get the nullPointExcpetion
return temp.data;
}
我希望当top.link不存在时(例如为null),那么belowTop只会为null。很好,但是正如我所描述的,我得到了例外。
编辑:这是我尝试的if语句
if (top.link != null) {
belowTop = top.link;
}
else {
belowTop = null;
}