Der folgende Code gibt mir eine NullPointerException
. Das Problem in der folgenden Zeile ist:NullPointerException während der Verwendung von Put-Methode von HashMap
...
dataMap.put(nextLine[0], nextLine[6]);
Was seltsam ist, ist, dass ich diesen Code ausgeführt haben, ohne die oben genannten Zeile und den Aufruf von nextLine[0]
und nextLine[6]
Arbeit genau wie erwartet - das heißt, sie mich zurückgeben Elemente eines CSV-Datei. Ich erkläre und die HashMap
mit dem
HashMap<String, String> dataMap = null;
früher im Methodencode initialisieren
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;
}
Ist das Problem nicht wirklich, dass es * explizit * initialisiert wurde? Zu null? –
Ich denke, Codingscape bedeutet zu sagen "ist nicht instanziiert" –
Eigentlich gibt es hier einen Hinweis. Er hat keine Warnung erhalten, weil er ihn auf Null initialisiert hat, um die Compiler-Warnung zu überschreiben, die er sicherlich bekommen würde. Sie sollten es sich zur Gewohnheit machen, Variablen nicht standardmäßig auf einen "Neutral" -Wert zu initialisieren, sondern nur auf ihren tatsächlichen Wert, damit der Compiler warnen kann. –