Je me demande simplement pourquoi l' switchinstruction Java 7 ne prend pas en charge un nullcas et jette à la place NullPointerException? Voir la ligne commentée ci-dessous (exemple tiré de l'article Tutoriels Java surswitch ):
{
String month = null;
switch (month) {
case "january":
monthNumber = 1;
break;
case "february":
monthNumber = 2;
break;
case "march":
monthNumber = 3;
break;
//case null:
default:
monthNumber = 0;
break;
}
return monthNumber;
}
Cela aurait évité une ifcondition de vérification nulle avant chaque switchutilisation.
nullprovoquera une exception. Effectuez une ifvérification null, puis entrez dans la switchdéclaration.
NullPointerExceptionsi l'expression évalue à nullau moment de l'exécution] est un meilleur résultat que de sauter silencieusement toute l'instruction switch ou de choisir d'exécuter les instructions (le cas échéant) après le étiquette par défaut (le cas échéant).