【发布时间】:2020-03-13 03:28:56
【问题描述】:
所以我用 Java 编码,我不得不手动创建一个 LinkedList。它是双向链接的,并且尾部的 next 指针指向 null。我正在使用它来遍历列表,直到我到达排序算法(冒泡排序)的末尾。
Node<?> current = a.getHead();
while (current.getNext() != null) { //this line throw a NullPointerException
//sorting algorithm
current = current.getNext();
}
这里也是 getNext() 的代码:
Node<?> current = a.getHead();。
为什么 Java 会在这里抛出 NullPointerException?
【问题讨论】:
-
@Eng.Fouad 但我在问为什么 java 在我检查这种情况时抛出异常
-
您没有检查
current是否为空。您正在检查current.getNext()不为空。如果你current为空,那么current.getNext()将抛出NullPointerException。