Java - исключение NullPointerException в массиве - PullRequest
1 голос
/ 01 ноября 2010

Я столкнулся со следующей проблемой: у меня есть класс Java с закрытым членом, например:

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, и я не понимаю, почему.Буду признателен, если кто-нибудь объяснит мне, что происходит.

1 Ответ

9 голосов
/ 01 ноября 2010

Вы когда-нибудь хранили Arcs объект в arcs[i]?Если нет, все элементы arcs[] будут инициализированы нулем.(Отсюда и NPE)

Сделайте что-то вроде этого:

while(condition){
    // ...
    arcs[i] = new Arcs();
    arcs[i].add(blah); 
    // ...
}

Ссылка:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...