Me pregunto por qué la switchdeclaración de Java 7 no admite un nullcaso y en su lugar arroja NullPointerException. Vea la línea comentada a continuación (ejemplo tomado del artículo de Tutoriales de Java enswitch ):
{
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;
}
Esto habría evitado una ifcondición de verificación nula antes de cada switchuso.
nullcausará una excepción. Realice una ifverificación para null, luego vaya a la switchdeclaración.
NullPointerExceptionsi la expresión se evalúa como nullen tiempo de ejecución] es un mejor resultado que omitir silenciosamente toda la declaración del interruptor o elegir ejecutar las declaraciones (si las hay) después del etiqueta predeterminada (si existe).