Следующий код дает мне NullPointerException
. Проблема заключается в том на следующей строке:NullPointerException при использовании метода put из HashMap
...
dataMap.put(nextLine[0], nextLine[6]);
Что такое странное, что я запускаю этот код без вышеуказанной линии и призыв к nextLine[0]
и nextLine[6]
работы точно, как и ожидалось - это они дают мне обратно элементы csv файл. Я заявляю и инициализацию HashMap
с кодом
HashMap<String, String> dataMap = null;
ранее в методе
String[] nextLine;
int counter=0;
while (counter<40) {
counter++;
System.out.println(counter);
nextLine = reader.readNext();
// nextLine[] is an array of values from the line
System.out.println(nextLine[0] + " - " + nextLine[6] +" - " + "etc...");
dataMap.put(nextLine[0], nextLine[6]);
}
return dataMap;
}
Не правда ли, что это * явно * инициализировано? Нулевое значение? –
Я думаю, что Codingscape означает «не создается» –
На самом деле, есть подсказка. Он не получил предупреждения, потому что он инициализировал его нулевым, чтобы переопределить предупреждение компилятора, которое он, конечно, получал. Вы должны сделать привычкой НЕ инициализировать переменные до значения «Нейтральное» по умолчанию, только установите их на их реальное значение, чтобы компилятор мог предупредить. –