Ich frage mich nur, warum die Java 7- switchAnweisung keinen nullFall unterstützt und stattdessen wirft NullPointerException. Siehe die kommentierte Zeile unten (Beispiel aus dem Artikel über Java-Tutorialsswitch ):
{
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;
}
Dies hätte eine ifBedingung für eine Nullprüfung vor jeder switchVerwendung vermieden .
nullführt zu einer Ausnahme. Führen Sie eine ifPrüfung durch nullund gehen Sie dann in die switchAnweisung.
NullPointerExceptionAnsicht der Entwickler der Java-Programmiersprache ist [das Auslösen eines if, wenn der Ausdruck zur nullLaufzeit ausgewertet wird] ein besseres Ergebnis, als die gesamte switch-Anweisung stillschweigend zu überspringen oder die Anweisungen (falls vorhanden) nach dem auszuführen Standardbezeichnung (falls vorhanden).