che getterà una NullPointerException.
La ragione di questo è che vi affidate ai auto-unboxing del valore intero a un int primitivo tipo Java fa questo internamente chiamando .intValue()
sull'oggetto, che è nullo
in merito a entrambi è una buona pratica o no ... vorrei sconsigliarlo, a meno che il codice non sia usato solo da te e sei estremamente ben educato, assicurandoti di assegnare solo il valore di ritorno di tale metodo ai valori Integer, non int.
Se il codice finisce in una lib utilizzata da altri, non è sicuro, e preferirei lanciare esplicitamente un'eccezione, ben documentata, e consentire la codifica difensiva da parte del chiamante.
Tony Hoare, l'inventore di null, lo chiama il suo errore da un miliardo di dollari. Evita "null" in generale. –
Non è una cattiva pratica se è necessario sapere che il valore è sconosciuto. La gestione delle eccezioni per 'NullPointerException' può essere incorporata nel codice per riflettere l'assenza, convertire il NULL INT in uno zero, ecc. [NULL] (http://en.wikipedia.org/wiki/Null_%28SQL%29) è un male necessario, ci sono casi in cui è necessario identificare chiaramente uno sconosciuto o un'assenza di valore, ad esempio: quante volte mi sposerò, data di morte, ecc. –
@ TomHawtin-tackline quindi tutto ciò che sappiamo è che era sbagliato almeno una volta, quando quello era non solo in discussione ma anche fuori tema. Considerando che questa domanda non riguarda la progettazione del linguaggio e null è parte integrante di java che afferma che anche le credenze di un progettista di linguaggio sono inutili – josefx