Java Language L'unbox automatico può portare a NullPointerException

Esempio

Questo codice compila:

Integer arg = null;
int x = arg;

Ma si romperà in fase di esecuzione con una java.lang.NullPointerException sulla seconda riga.

Il problema è che un int primitivo non può avere un valore null .

Questo è un esempio minimalista, ma nella pratica si manifesta spesso in forme più sofisticate. La NullPointerException non è molto intuitiva e spesso è di scarso aiuto nell'individuazione di tali bug.

Affidati alla funzione di autoboxing e auto-unboxing con attenzione, assicurati che i valori non condivisi non abbiano valori null in fase di runtime.