我有一个类具有一个ArrayList属性,并且具有该类的2D阵列另一个类:2D阵列
public class someThingsList {
private List<someThings> lst;
public someThingsList() {
this.lst = new ArrayList<someThings>();
}
public addThing(someThings) {
someThings s = someThings;
this.lst.add(s);
}
}
和
public class x implements y {
private static someThingsList[][] field;
public x(int h, int w) {
x.field = new someThingsList[h][w];
for (someThingsList[] lst1 : x.field)
for (someThingsList lst2 : lst1)
lst2 = new someThingsList();
}
,当我有例如用(2,2)为H和W新的X对象,并尝试做
x.fields[0][0].addThing(thing);
我得到一个NullPointerException错误,任何想法,为什么?
不相关,但尝试命名您的类(和接口)与领先的大写字母和您的变量与领先的小写。会使代码像“someThings s = someThings;”更具可读性。 – sbk 2013-02-14 17:08:53
哎呀抱歉,应该是 public addThing(someThings sT)someThings s = sT; this.lst.add(s); } – codeoverflow 2013-02-14 17:17:44