Ich frage mich nur, warum die Java 7- switch
Anweisung keinen null
Fall 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 if
Bedingung für eine Nullprüfung vor jeder switch
Verwendung vermieden .
null
führt zu einer Ausnahme. Führen Sie eine if
Prüfung durch null
und gehen Sie dann in die switch
Anweisung.
NullPointerException
Ansicht der Entwickler der Java-Programmiersprache ist [das Auslösen eines if, wenn der Ausdruck zur null
Laufzeit 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).