당신이 3 개 값을 열거 있다고 가정 나중에 그런Java에서 enum의 모든 정의 된 값을 전환하는 것을 강제 할 수있는 방법이 있습니까?</p> <pre><code>enum Colors { RED, GREEN, BLUE } </code></pre> <p>당신은 모든 경우에 처리 한 생각, 어떤 방법으로 그것의 모든 값을 전환 :
switch (colors) {
case RED: ...
case GREEN: ...
case BLUE: ...
}
을, 당신은 추가 열거에 새로운 값 :
enum Colors { RED, GREEN, BLUE, YELLOW }
그리고 당신은 자동 방법 YELLOW
에 대한 사례를 놓치고 제외한 모든 여전히 잘 컴파일합니다. 이러한 시나리오에서 컴파일 타임 오류를 발생시킬 수있는 방법이 있습니까?
편집 :이 Can I add and remove elements of enumeration at runtime in Java의 속는을 표시 한 이유 이해하지 마십시오. 대답은 "아니오"이므로 컴파일 타임에 열거 형의 모든 값을 알 수 있어야하므로 컴파일러/일부 코드 분석 도구를 구현할 수 있어야합니다. ?
'default : throw new UnsupportedOperationException();'? – tkausl
@Colonder 확실히 그 질문의 중복이 아닙니다. –
@Colonder 이걸 속임수로 표시하지 마십시오. 제발? :) –