1
我已经遇到了以下问题:我有一个私有成员像这样一个Java类:爪哇 - NullPointerException异常的Array
private Arcs[] arcs;
这不是在构造函数初始化,因为我不知道的长度我的矢量,但它是在读取函数中初始化的,我从文件中读取信息。 在这个功能我执行以下操作:
arcs = new Arcs[n]; //n is a number read from file
然后有一个while循环中,我从文件中读取其他的东西,我有这样的:
while(condition){
...
arcs[i].add(blah); //i is a valid number, smaller than n, and the add function is also correct
...
}
但在这里我有一个错误说NullPointerException,我不明白为什么。如果有人向我解释发生了什么,我将不胜感激。
我不能这样做,因为我可能在不止一个循环中反驳相同的弧线[i],这意味着一遍又一遍地初始化它,最后我不会有所有的我需要的信息。我也试图在此之前做到这一点,但仍然不好。 – Sireny 2010-11-01 07:50:26
@Sireny,你可以做'if(arcs [i] == null){arcs [i] = new Arcs(); }'。不过,可能有更清晰的方法来处理这个问题。 – 2010-11-01 07:54:48
好的,我再次尝试,现在它的工作原理...我用循环来初始化所有元素,现在没关系。我只是不明白它为什么不起作用。无论如何,感谢大家的帮助:) – Sireny 2010-11-01 07:55:02