我正在尝试从一系列字符中添加一个字符到Chars的ArrayList,原因我不会谈论因为害怕使帖子变长。我正在使用这个基本代码:
for(char ch: c){
this.age.add(ch);
}
其中c是数组,age是ArrayList。请记住,年龄未初始化,因此它为空。我的问题是,为什么我在编译并运行它时会得到一个空指针异常?
答案 0 :(得分:3)
你得到一个nullpointer因为年龄,Arraylist是null。您需要在添加元素之前对其进行初始化。
List<Character> age = new ArrayList<Character>();
for(char ch: c){
this.age.add(ch);
}
在for循环之前初始化年龄,如果你在for循环中执行它,你将每次重新初始化它并丢失你的数据。
答案 1 :(得分:2)
那可能是你没有被初始化age
。初始化就像,
List<Character> age = new ArrayList<Character>();
异常即将发生,因为你刚刚离开它
List<Character> age;
因此默认情况下引用为null。并在其上调用方法就像
null.method() //NullPointerException