NullPointerException bei int
-
Hi,
ich hab gehört, dass man in Java 5 auch bei einem einfachen int
eine NullPointerException kriegen kann...
Stimmt das?Kann mir einer mal nen Beispiel posten.
Ickebert
-
Das stimmt nicht, aber man könnte denken, dass es so ist, da mit Java 5.0 Sogenanntes Autoboxing eingeführt wurde. Das heißt, dass int-Werte bei Bedarf in ein entsprechendes Wrapper-Objekt gesteckt werden bzw. wieder daraus hervorgeholt werden. Bei diesem Vorgang kann es dann natürlich zu NullPointerExceptions kommen. Kannst ja mal etwas in der Art Testen:
Integer i = 5; Integer j = null; int a = i; // Das sollte fehlerfrei funktionieren. int b = j; // Hier sollte eine NPE fliegen.
-
klar, und deshalb nimmt man besser auch C++
-
Da zeigt sich echt mal das Java nicht gelungen ist.
-
Gregor schrieb:
int b = j; // Hier sollte eine NPE fliegen.
Jo, das passiert tatsächlich. Habe es gerade getestet.
-
............. schrieb:
Da zeigt sich echt mal das Java nicht gelungen ist.
Kann ich jetzt nicht ganz nachvollziehen. Natürlich kann man null nicht in ein Werttyp (der niemals null sein darf) casten. Das erscheint mir völlig logisch. Und dass man den cast im Code nicht sieht, sollte gerade euch C++ler nicht stören.
-
Jo...
Dann stink Java wirklich
-
War nur ein Trollversuch. Natürlich ist Java sehr gut.