Warum funktioniert dieser Code?Seltsames Java-Verhalten. Ternärer Operator
Float testFloat = null;
Float f = true ? null : 0f;
Und warum wirft dies eine Ausnahme?
Float testFloat = null;
Float f = true ? testFloat : 0f;
Aber das Merkwürdigste ist, dass dieser Code auch erfolgreich ohne Ausnahmen läuft:
Float testFloat = null;
Float f = testFloat;
Es scheint, dass der ternäre Operator von Java das Verhalten ändert. Kann mir bitte jemand erklären, warum das so ist?
Ich laufe es mit JDK 7u25 und es gab keine Ausnahmen. –
Der dritte Code kann keine Ausnahmen auslösen: Sie deklarieren eine Variable, setzen sie auf null, deklarieren dann eine andere und setzen sie auf den Wert der ersten, die null ist. Keine Ausnahmen konnten geworfen werden –