我在使用当前程序时遇到困难。当我尝试检查节点(对象)是否为空时,我收到了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/