이클립스에 다음 코드를 입력하면 "대문자 표현식이 상수 표현식이어야한다"고 불평합니다. 배열에 final
으로 표시된 경우 해당 내용은 일정해야합니다. 왜 이것이 유효하지 않습니까?switch 문에서 최종 변수를 사용할 수없는 이유는 무엇입니까?
final String[] match={"a","b","c"};
switch (switchVar) {
case match[0]: /* Eclipse complains here about nonconstant switch */
System.out.println("Matches");
break;
default:
System.out.println("No Match");
break;
}
견적은 '이 점을 강조하지 않습니다'. 문법은 다음과 같습니다 :'SwitchLabel : case ConstantExpression : case EnumConstantName : default :'. 인용문은 '스위치'부분에서 스위치 표현 자체의 내부에 들어가는 것에 관한 것입니다. – EJP
@EJP : 조금 혼란 스러울 수 있습니다. 나는 동의한다. 나는 그것을 새롭게 바꿨다. – Makoto
'혼란스럽게'? 그것은 무의미했다. – EJP