【发布时间】:2013-01-30 13:36:34
【问题描述】:
我有一个具有 ArrayList 属性的类,以及另一个具有该类的二维数组的类:
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();
}
例如,当我有一个新的 x 对象时,将 (2,2) 作为 h 和 w,并尝试这样做
x.fields[0][0].addThing(thing);
我收到 NullPointerException 错误,知道为什么吗?
【问题讨论】:
-
不相关,但尝试使用前导大写字母命名您的类(和接口),使用前导小写字母命名您的变量。将使
someThings s = someThings;之类的代码更具可读性。 -
抱歉,这应该是 public addThing(someThings sT) { someThings s = sT; this.lst.add(s); }
标签: java arraylist multidimensional-array