我試圖做一個二叉樹的實現的話每一個它有一個模式(如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