我知道这里有很多关于 Java 中的空指针异常的线程,但我仍然无法弄清楚这里发生了什么
我正在尝试为传递依赖项 Kata 18 提出一个解决方案,该解决方案发布在http://codekata.pragprog.com/2007/01/kata_eighteen_t.html
add_direct 方法应该将一个字符和一个由空格分隔的单个空格分隔的字符组成一个数组列表。然后我尝试插入 ArrayLists 的 HashMap,其中初始 char 是键,我解析的 ArrayList 是项目。这是我的 NullPointerException 发生的地方。我已经跟踪了所有这些数据结构,它们都没有 Null 值。我不明白是什么导致了我的异常。请看我的代码:
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);***
}
}
我有点困惑,因为 dependenciesList、key 或dependentItemsArray 不为空