Perché questo codice funziona?Strano comportamento di Java. Operatore ternario
Float testFloat = null;
Float f = true ? null : 0f;
E perché questo genera un'eccezione?
Float testFloat = null;
Float f = true ? testFloat : 0f;
Ma la cosa più strana è che questo codice viene eseguito anche con successo senza alcuna eccezione:
Float testFloat = null;
Float f = testFloat;
Sembra che l'operatore ternario di Java modifica il comportamento. Qualcuno può spiegare perché questo è, per favore?
L'ho eseguito con JDK 7u25 e non ha fatto eccezioni. –
Il terzo codice non può generare eccezioni: si dichiara una variabile, la si imposta su null, quindi si dichiara un altro e lo si imposta sul valore del primo che è null. Nessuna eccezione potrebbe essere generata –