1. 열거와 정적 상수의 차이
열거와 관련하여 먼저 공개 정적 최종 문자열에 의해 수정 된 상수와 어떻게 다른지 생각합니다.
열거의 두 가지 장점을 인용하겠습니다.
1. 유형 안전 보장 : 발신자는 마음대로 int 또는 문자열 값을 전달할 수 없습니다.
2. 코드는 매우 읽을 수 있습니다.
예를 들어:
실제 프로그래밍에는 종종 프로그램에서 값이 안정된 "데이터 세트"가 있으며 "데이터 세트"의 요소는 제한되어 있습니다. 예를 들어, 봄, 여름, 가을 및 겨울의 네 가지 데이터 요소는 사계절의 "데이터 세트"를 형성합니다.
메소드 get (String Season)을 작성했으며 입력 유형은 문자열 유형 일 수 있으며 문자열은 (봄, 여름, 가을, 겨울) 일 수 있습니다.
이번에는. 당신은 4 개의 문자열 상수를 씁니다
공개 클래스 공통 {public static final String spring = "Spring"; 공개 정적 최종 문자열 계절 = "여름"; 공개 정적 최종 문자열 여름 = "가을"; 공개 정적 최종 문자열 가을 = "겨울";}Get 방법에 Get (Common.season)을 넣는 것은 실제로 "봄"을 넣는 것입니다. 그러나 현재는 여기에 숨겨진 위험이 있음을 알게 될 것입니다. 결국 (문자열 시즌), 스트링 유형이 들어갑니다. 새로운 동료 나 정보가없는 동료 가이 방법에 "봄, 여름, 가을 및 겨울"만 넣을 수 있다는 것을 알지 못하는 경우. get ( "xiaoxiao")와 같은 문자열을 넣습니다. 이 시점에서는 컴파일 기간 동안 오류를보고하지 않습니다. 실행 후에 만 잘못되었다는 것을 알게 될 것입니다.
위의 숨겨진 위험을 방지하기 위해 열거가 나타납니다.
공개 열거 계절 {봄 ( "봄"), 여름 ( "여름"), 가을 ( "가을"), 겨울 ( "겨울"); ....}현재 Get 메소드의 매개 변수 전송을 수정하여 GET (시즌 시즌)로 변경합니다. 현재 Get (Season.Spring)을 추가하여 전달 된 매개 변수만이 Are를 보장 할 수 있습니다.
2. 열거를 이해하십시오
우선, 우리는 분명해야합니다. 실제로 열거는 또한 클래스 클래스입니다. 나는 이해할 열거를 쓸 것이다.
// 우리는 열거를 공통 계급 공개 열거 계절 {Spring (1, "Spring"), Summer (2, "Summer"), 가을 (3, "가을"), 겨울 (4, "겨울")으로 취급합니다. // 여기서 마지막은 세미콜론이어야합니다. 그렇지 않으면 오류 가보고됩니다./ *우리는 그것을 *공개 정적 마지막 시즌 봄 = 새로운 시즌 (1, 봄)으로 이해할 수 있습니다. *공개 정적 마지막 시즌 여름 = 새로운 시즌 (2, 여름); *공개 정적 마지막 시즌 가을 = 새로운 시즌 (3, 가을); *공개 정적 마지막 시즌 겨울 = 새로운 시즌 (4, 겨울); * 객체이기 때문에 아래에서 이해하기 쉽습니다*//** 1. 위의 객체에는 두 개의 매개 변수가 있으므로 아래 에이 유형의 생성자가 있어야합니다.* 2 아래에 새 개체*/ 개인 계절 (int 코드, 문자열 이름) {this.name = name; this.code = 코드; } // 객체 개인 문자열 이름의 속성; 개인 int 코드; // 객체 속성을 얻는 메소드 public String getName () {return this.name; } public String getCode () {return this.Name; } // 코드를 통해 객체를 가져 오면 객체의 다른 속성을 공개 정적 시즌 디코드 (int code) {시즌 시즌 = null; for (season type : season.values ()) {if (type.code == code) {season = type; 부서지다; }} 반환 시즌; } // re-toString 메소드 public String toString () {return this.name; }}위의 예는 열거를 잘 설명합니다. 평범한 수업과 다르지 않습니다. 속성이있는 여러 객체를 만드는 다른 방법 만 사용합니다. 이것은 또한 속성을 가진 그러한 생성자가 필요하며, 그게 전부입니다.
열거의 특징은 다음과 같습니다.
1. 공개 생성자를 가질 수 없으며, 그렇게하면 클라이언트 코드가 새 인스턴스의 열거 인스턴스를 생성 할 수 없도록 할 수 있습니다.
2. 열거는 기본적으로 java.lang.enum을 상속하기 때문에 다른 클래스를 상속받을 수 없습니다.
3. 상수 값 주소는 고유하며 ==를 사용하여 직접 비교할 수 있으며 성능이 향상됩니다.
4. Enum은 또한 값 방법을 제공하여 모든 열거 값을 쉽게 통과 할 수 있습니다.
5. 열거는 또한 열거 값 선언의 순서에 따라 열거 클래스에서 열거 값의 순서를 반환하는 오리 줄기 방법을 가지고있다.
3. 열거의 일반적인 사용
첫 번째 유형 : 스위치 응용 프로그램
먼저 열거를 만듭니다.
public enum common {삽입, 수정, 삭제} // 이것은 매개 변수가없는 객체이므로 시스템의 기본 생성자를 사용할 수 있습니다. 속성과 방법을 작성할 필요가 없습니다.구현 코드 작성
공개 클래스 공통점 {public static void gettype (공통 공통) {Common C = Common; Switch (c) {Case Insert : System.out.println ( "삽입 작업"); 부서지다; Case Modify : System.out.println ( "구성"); 부서지다; CASE DELETE : System.out.println ( "삭제 작업"); 부서지다; }} public static void main (String [] args) {gettype (common.delete); // 배경 출력 : 삭제 삭제}}두 번째 사용법은 기타 값을 얻기 위해 키 값을 통해 값 값을 얻는 것입니다.
열거 수업
공개 열거 계절 {Spring (1, "Spring", "Spring Flying Flying"), 여름 (2, "여름", "여름 수영"), 가을 (3, "가을", "가을", 겨울 (겨울”, "겨울"시즌 (int code, String Name, String BZ) {this.code = Code = this. Private Bz;테스트 클래스
좋아, 너무 많이 쓸게요, 앞으로 필요한 경우 더 심도있게 알게 될 것입니다. Wulin.com을 지원 해주셔서 감사합니다.