Yoi*_*ink 3 java nullpointerexception
作为二叉搜索树的一部分,我有一个非常基本的方法,如果当前二进制节点有一个正确的子节点,则返回True;如果右边的子节点指向null,则返回False.
public boolean hasRight(){
if(right.element != null){
return true;
}else{
return false;
}
Run Code Online (Sandbox Code Playgroud)
但是每当我测试这段代码时,我知道我将到达一个没有正确子节点的节点,并希望我的代码只返回False,java会在该行抛出NullPointerException
if(right.element != null)
Run Code Online (Sandbox Code Playgroud)
而不是像我期望的那样返回False.
编辑:
修复了我的代码,在尝试获取正确的元素之前,只需检查自己是否为null
public boolean hasRight(){
if(right != null){
return true;
}else{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
rge*_*man 10
然后right就是null.在尝试访问它之前先检查它.
if (right != null && right.element != null){
Run Code Online (Sandbox Code Playgroud)
如果right为null,则无法访问right.element().
顺便说一句:你的方法可以更简单地写成
hasRight(){
return right != null;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |