열거 열거 자바의 switch 문

첫째, 사용

열거 형 상수 이름을 직접 참조 할 경우 문에서 열거 형식을 사용하지 마십시오.

둘째, 원리 분석

자바 책과 시간의 공식 문서를 읽고는, 지원 열거의 자바 스위치 문을 말하지만, 그들은 인터넷에서 찾을 수 없습니다 때 관련 인스턴스를 찾을 수 있습니다. 공식 문서를 살펴보면, 사용을 이해합니다.
그것은 최종 정적 열거 상수의 한 종류이지만, 스위치는 일반적으로 정적 지속적인 사용을 참조 차이가있을 때. 유형을 열거 스위치 조건이 내부 같은 경우 문을해야하기 때문에, 스위치 문에서 열거 유형을 선언 때, 경우 문을 열거 유형이 확인 된, 열거 클래스의 사용을 참조 할 필요가 .

셋째, 샘플 코드

공공 열거 날 { 
    일요일, 월요일, 화요일, 수요일, 
    목요일, 금요일, 토요일  
}
 {클래스 EnumTest 공공 
    데이 날,     
    공공 EnumTest (날 일) = {데이 this.day; 
    }     
    공공 무효 tellItLikeItIs () {스위치 (일) {케이스 월요일 : 열거 된 유형이 확인 된 조건문 스위치 //, 할 필요가 없습니다 를 참조하는 열거 형의 열거 상수를 사용하거나 컴파일러 오류 
                에서 System.out.println ( "월요일이 나쁜입니다."); BREAK;                     
            케이스 금요일 : 
                에서 System.out.println을, BREAK ( "금요일은 더 나은입니다.")                          
            케이스 토요일 : 케이스 일요일 
                에서 System.out.println (. "주말이 제일이다"); BREAK,                         
            기본 :
                에서 System.out.println ( "주중 일이 그렇고 그런입니다."); 단절; 
        }
    }     
    공공 정적 무효 메인 (문자열 []에 args) { 
        EnumTest firstDay = 새로운 EnumTest (Day.MONDAY); 
        firstDay.tellItLikeItIs (); 
        EnumTest thirdDay = 새로운 EnumTest (Day.WEDNESDAY); 
        thirdDay.tellItLikeItIs (); 
        EnumTest fifthDay = 새로운 EnumTest (Day.FRIDAY); 
        fifthDay.tellItLikeItIs (); 
        EnumTest sixthDay = 새로운 EnumTest (Day.SATURDAY); 
        sixthDay.tellItLikeItIs (); 
        EnumTest seventhDay = 새로운 EnumTest (Day.SUNDAY); 
        seventhDay.tellItLikeItIs (); 
    } 
}

         

                   

추천

출처blog.51cto.com/14028890/2404662