immer, dass primitive Typen in Java nicht null
sein kann, da es sich um eine Kompilierung Fehler ist, wenn ich so etwas wie dies zu tun versuchen:warum ich einstellen kann dachte ich Urtyp zu null in ternären Operationen
int test = null;
jedoch in einem ternären Betrieb, so scheint es erlaubt zu sein:
int test = something != 0 ? 5 : null;
Ist das nicht ein ternärer Betrieb nur kurz für (in diesem Fall):
int test;
if (something != 0){
test = 5;
} else {
test = null
}
was natürlich nicht erlaubt sein sollte. Wenn diese Bedingung fehlschlägt, wird automatisch ein NullPointerException
wegen Autoboxing geworfen. Warum also ruft der Java-Compiler keinen solchen Unsinn?
Übrigens, Sie reden von * primitiven * Typen. Rohtypen sind etwas völlig anderes. http://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html – Natix
Ihr Recht! Ich verwirrte sie einfach und änderte sie entsprechend. –
mögliches Duplikat von [Tricky ternärer Operator in Java - Autoboxing] (http://stackoverflow.com/questions/8098953/tricky-ternary-operator-in-java-autoboxing) –