【问题标题】:Null Check when interating LinkedList throws NullPointerException交互 LinkedList 时的 Null 检查抛出 NullPointerException
【发布时间】: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&lt;?&gt; current = a.getHead();。 为什么 Java 会在这里抛出 NullPointerException?

【问题讨论】:

  • @Eng.Fouad 但我在问为什么 java 在我检查这种情况时抛出异常
  • 您没有检查current 是否为空。您正在检查 current.getNext() 不为空。如果你 current 为空,那么 current.getNext() 将抛出 NullPointerException

标签: java nullpointerexception


【解决方案1】:

问题在于Node&lt;?&gt; current = a.getHead();

a.getHead(); is returning null.

请点赞-

while (current != null && current.getNext() != null) {
         //sorting algorithm
        current = current.getNext();
}

【讨论】:

  • 谢谢,我没想到要检查那行。不再抛出错误并且排序正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
  • 2012-12-09
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多