Мне просто интересно, почему switch
оператор Java 7 не поддерживает null
регистр, а вместо этого бросает NullPointerException
? См. Прокомментированную строку ниже (пример взят из статьи 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;
}
Это позволило бы избежать if
условия проверки нуля перед каждым switch
использованием.
null
вызовет исключение. Выполните if
проверку null
, а затем перейдите к switch
выписке.
NullPointerException
если выражение оценивается как null
во время выполнения] - лучший результат, чем молчаливый пропуск всего оператора switch или выбор выполнения операторов (если есть) после метка по умолчанию (если есть).