我试图做一个二叉树的实现的话每一个它有一个模式(如HELLO - 模式是ABCCD)空指针异常尽管检查
我不断收到一个空指针异常在线状态
while(pos.getPattern() != null || a){
我不明白为什么 - 有检查到位。此外,当我打印pos.getPattern() - 我得到一个字符串,不是一个空值
我真的可以使用一些帮助
public void AddWord(String word) {
TreeNode pos = root;
boolean a = true;
String pat = PatternMaker.MakePattern(word);
while(pos.getPattern() != null || a){
if (pos.getPattern().equals(pat)) {
WordList list = pos.getList();
list.insertWord(word);
pos.setList(list);
a = true;
} else if (pat.compareTo(pos.getPattern()) > 0) {
pos = pos.getRight();
} else {
pos= pos.getLeft();
}
}
if(pos ==null){
pos = new TreeNode(word, pat);
}
}
看起来'pos'在某些情况下可能为空。如果是这样,在空对象上调用'getPattern'将会抛出'NullPointerException' –
你试过使用调试器吗?它将帮助您快速发现哪个对象为空。 – Milkmaid