머리말
우리의 일일 프로그래밍에는 종종 프로그램에서 값이 안정된 "데이터 세트"가 있으며 "데이터 세트"의 요소는 제한되어 있습니다. 예를 들어, 월요일부터 일요일까지 7 개의 데이터 요소가 일주일의 "데이터 세트"를 형성하고 봄, 여름, 가을 및 겨울의 4 가지 데이터 요소가 사계절의 "데이터 세트"를 형성합니다. Java에서 이러한 "데이터 세트"를 더 잘 사용하는 방법은 무엇입니까? 따라서 열거는 편리합니다
열거는 실제로 int 및 char와 유사한 유형이므로 변수를 정의 할 때 입력을 제한 함을 의미합니다. Enum에 지정된 값 만 할당 할 수 있습니다.
열거적인 구현
JDK5는 새로운 유형보다 구문이 많은 Java Enum 유형의 구현을 제공합니다.
공개 열거 계절 {봄, 여름, 가을, 겨울}해석 도구를 통해이 코드가 어떻게 구현되는지 살펴 보겠습니다. 소환 된 코드는 다음과 같습니다.
공개 최종 클래스 시즌은 열거 {public static season [] values () {return (season []) $ values.clone (); } 공개 정적 시즌 값 (문자열 s) {return (season) enum.valueof (시즌, s); } 개인 계절 (문자열 s, int i) {super (s, i); } 공개 정적 마지막 시즌 봄; 공개 정적 마지막 시즌 여름; 공개 정적 마지막 시즌 가을; 공개 정적 마지막 마지막 시즌 겨울; 개인 정적 최종 시즌 $ value []; 정적 {Spring = New Season ( "Spring", 0); 여름 = 새 계절 ( "여름", 1); 가을 = 새 계절 ( "가을", 2); 겨울 = 새로운 계절 ( "겨울", 3); $ value = (새 계절 [] {봄, 여름, 가을, 겨울}); }} 코드를 디 컴파일하면 다음을 찾을 수 있습니다.
1. Season Enum 에서 물려 받고 상속을 피하기 위해 final 키워드를 통해 수정되는 일반적인 클래스입니다.
2. SPRING 봄, SUMMER , AUTUMN 및 WINTER Season 수업의 정적 인스턴스이며 클래스 생성자 <clinit> 방법에서 초기화됩니다.
3. values() 메소드는 개인 변수 $VALUES[] $VALUES[] 의 사본을 반환하며 <clinit> 메소드에서도 초기화됩니다.
Enum 사용 방법
1. 싱글 톤 모드
우리는 클래스 생성자 <clinit> 클래스 로딩의 초기화 단계에서 하나의 스레드에 의해서만 실행될 수 있다는 것을 이미 알고 있으므로, 열거의 각 인스턴스는 Java 힙에 하나의 사본 만 가지고 있습니다. 이 기능을 사용하면 열거가 싱글 톤 패턴을 쉽게 구현할 수 있습니다. 이것이 바로 Java 작가 Josh Bloch가 싱글 톤 패턴 구현의 사용을 옹호하는 방법입니다.
공개 열거 싱글 톤 {instance;} 2. 스위치에서 사용하십시오
3. 사용자 정의 필드 및 방법
열거의 기본 필드 및 메소드 외에도 비즈니스 로직을 사용자 정의 할 수 있습니다.
public enum enumtest {plus ( " +") {@override public int bind (int arg1, int arg2) {return arg1 + arg2; }}, sub ( " -") {@override public int bind (int arg1, int arg2) {return arg1 -arg2; }}; 최종 문자열 작동; enumtest (문자열 작동) {this.operation = 작동; } Abstract int bind (int arg1, int arg2);}4. 인터페이스를 구현하십시오
인터페이스 작동 {int 작동 (int arg1, int arg2);} public enum enumtest 구현 {plus ( " +") {@override public int 작동 (int arg1, int arg2) {return arg1 + arg2; }}, sub ( " -") {@override public int 작동 (int arg1, int arg2) {return arg1 -arg2; }}; 최종 문자열 작동; enumtest (문자열 작동) {this.operation = 작동; }} 실제 애플리케이션에서 "+"및 "-"는 키로 사용하고 값으로 및 하위를 value 으로 사용하고 hashMap 의 해시 맵에서 사전으로 사용할 수 있습니다. 특정 사용 방법은 다음과 같습니다.
작동 작업 = hashmap.get ( "+"); int result = operation.bind (1, 2);
요약
위의 것은 Java의 열거 유형에 관한 것입니다. 이 기사의 자바에서 열거에 대한 소개를 통해 모든 사람에게 도움이 될 수 있기를 바랍니다. 궁금한 점이 있으면 의사 소통 할 메시지를 남겨주세요.