【发布时间】:2017-07-23 03:13:08
【问题描述】:
我正在尝试为每个具有模式的单词实现二叉树(例如,你好 - 模式是 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在某些情况下可能为空。如果是这样,在 null 对象上调用getPattern将抛出NullPointerException -
您尝试使用调试器吗?它将帮助您快速发现哪个对象为空。
标签: java eclipse jakarta-ee