我在执行当前程序时遇到困难。当我尝试检查节点(一个对象)是否为空时,我得到一个 NullPointerException ,我认为你可以这样做。我在此 if 语句中遇到异常
else if(direction == 0) {
cursor = cursor.getParent();
if(cursor.getRight() != null)
direction = 1;
else
direction = 0;
}
我在第三行'if(cursor.getRight() != null)'上得到了异常,我尝试了多种方法来编写它,但仍然得到相同的异常。 ('if(null !=cursor.getRight)' 和 'if(!(null ==cursor.getRight())' getRight() 方法返回下一个节点(对象)的实例,并在该对象初始化时初始化为 null。
最佳答案
else if(direction == 0) {
cursor = cursor.getParent();
if(cursor.getRight() != null)
direction = 1;
else
direction = 0;
}
您收到 NullPointerException
的原因是因为 cursor
设置为 null
,因此当您尝试 cursor.getRight() 时
,它的计算结果为 null.getRight()
因此出现异常。
我建议您尝试以下代码:
else if(direction == 0) {
cursor = cursor.getParent();
if(cursor!=null && cursor.getRight() != null)
direction = 1;
else
direction = 0;
}
关于java - 当我与 null 进行 == 比较时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26824827/