我知道有很多關於Java的空指針異常的線程在這裏,但我仍然無法弄清是怎麼回事是什麼原因造成我的空指針異常
我試圖想出一個解決方案傳遞相關性發布在http://codekata.pragprog.com/2007/01/kata_eighteen_t.html
的傳遞相關性add_direct方法應該將char和由空格分隔的單個空格分隔的字符放入ArrayList中。然後我嘗試插入一個ArrayLists的HashMap,其中初始char是關鍵字,我的解析ArrayList是項目。這是我的NullPointerException發生的地方。我追蹤了所有這些數據結構,並沒有一個具有空值。我不明白是什麼導致我的例外。請參閱我的代碼:
public class Test_Dependencies
{
public static void main(String[] args) {
Dependencies Dep = new Dependencies();
Dep.add_direct('A', "B C");
}
}
public class Dependencies {
HashMap dependenciesList;
public Dependencies()
{
HashMap<Character, ArrayList> dependenciesList = new HashMap<Character, ArrayList>();
}
public void add_direct(char mainItem, String dependentItems)
{
String[] individualItems = dependentItems.split("\\s+");
ArrayList<Character> dependendentItemsArray;
dependendentItemsArray = new ArrayList<Character>();
//put all items into the ArrayList
for(int i = 0; i < individualItems.length; i++)
{
Character c = new Character(individualItems[i].charAt(0));
dependendentItemsArray.add(c);
}
// insert dependency
Character key = new Character(mainItem);
***//NULL POINTER EXCEPTION HERE
dependenciesList.put(key, dependendentItemsArray);***
}
}
我有點perprlexed因爲dependenciesList,關鍵還是dependentItemsArray不是空