Java Language Unboxing automatique peut conduire à NullPointerException


Exemple

Ce code compile:

Integer arg = null;
int x = arg;

Mais il se bloquera à l'exécution avec une java.lang.NullPointerException sur la deuxième ligne.

Le problème est qu'un int primitif ne peut pas avoir de valeur null .

C'est un exemple minimaliste, mais dans la pratique, il se manifeste souvent sous des formes plus sophistiquées. Le NullPointerException n'est pas très intuitif et aide souvent peu à localiser de tels bogues.

En prenant soin de la mise en boîte automatique et de la désencapsulation automatique avec soin, assurez-vous que les valeurs non débrayées n'auront pas de valeurs null à l'exécution.