我遇到了以下问题:我有一个带有私有成员的java类,如下所示:
private Arcs[] arcs;
这不是在构造函数中初始化的,因为我还不知道我的向量的长度,但它在read函数中初始化,在那里我从文件中读取信息.
在此功能中,我执行以下操作:
arcs = new Arcs[n]; //n is a number read from file
然后有一个循环,我从文件中读取其他东西,我有类似的东西:
while(condition){
...
arcs[i].add(blah); //i is a valid number, smaller than n, and the add function is also correct
...
}
但在这里我有一个错误说NullPointerException,我不明白为什么.如果有人能向我解释发生了什么,我将不胜感激.
解决方法:
你真的在Arcs [i]中存储Arcs对象吗?如果不是,则arcs []的所有元素将被初始化为null. (因此NPE)
做这样的事情:
while(condition){
// ...
arcs[i] = new Arcs();
arcs[i].add(blah);
// ...
}
参考:
> Java教程:Arrays