I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.
Dass 'Nichts' -1 irgendwie zu 7 oder 6 werden sollen kann die Java-VM aber nicht ahnen - da ist es doch gut, dass sie sich hier darüber beklagt, dass sie mit 'Nichts' an dieser Stelle nichts anfangen kann.Einen Wert wie 7 oder 6.
...
public static void main(String[] args) throws IOException {
String[] lineData = null;
String code = null;
code = "8";
lineData[0] = code; //Hier sagt er schon gleich : Null pointer access...
lineData[0] = String.valueOf(Integer.parseInt(lineData[0])-1);
String[] lineData = null;
//..
lineData[0] = code;
ok - überleg mal...
wo kann da wohl nun der NullPointer herkommen ?Java:String[] lineData = null; //.. lineData[0] = code;
...
public static void main(String[] args) throws IOException {
String[] lineData = null;
String code = new String[1]; //Hier entsteht ein String Array mit genau einem! (1) Feld
code = "8";
lineData[0] = code; //Hier wird der String "8" an den ersten (und einzigen) index (0) geschrieben
lineData[0] = String.valueOf(Integer.parseInt(lineData[0])-1); //Hier wird das Feld mit dem index 0 überschrieben mit dem String "7"
}
...
public static void main(String[] args) throws IOException {
String[] lineData = new String[1]; //Hier entsteht ein String Array mit genau einem! (1) Feld
String code = null;
code = "8";
lineData[0] = code; //Hier wird der String "8" an den ersten (und einzigen) index (0) geschrieben
lineData[0] = String.valueOf(Integer.parseInt(lineData[0])-1); //Hier wird das Feld mit dem index 0 überschrieben mit dem String "7"
}