Java 7 switch문이 null케이스를 지원하지 않고 대신 던지는 이유가 궁금합니다 NullPointerException. 아래의 주석 처리 된 줄을 참조하십시오 ( 의 Java 자습서 기사에서switch 가져온 예제 ).
{
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자동으로 전체 스위치 문을 건너 뛰는 또는 후 (있는 경우) 문을 실행하기 위해 선택하는 것보다 더 나은 결과입니다 런타임]가 기본 레이블 (있는 경우).