我有一个非常基本的二叉搜索树方法,如果当前二叉节点有一个右子节点,则简单地返回True,如果该右子节点指向空,则返回False。
然而,每当我测试这段代码时,一旦我知道我将到达一个没有右子节点的节点,并期望我的代码只返回False时,Java会在该行抛出NullPointerException异常。
public boolean hasRight(){
if(right.element != null){
return true;
}else{
return false;
}
然而,每当我测试这段代码时,一旦我知道我将到达一个没有右子节点的节点,并期望我的代码只返回False时,Java会在该行抛出NullPointerException异常。
if(right.element != null)
与我预期的返回False不同。
编辑:
修复了我的代码,只需在尝试获取right元素之前检查right本身是否为空即可。
public boolean hasRight(){
if(right != null){
return true;
}else{
return false;
}
}
if (right == null) {...}
时,它会显示什么? - AntonH