>  기사  >  Java  >  Java는 값과 설명을 구현하기 위해 Enum 클래스를 어떻게 정의합니까?

Java는 값과 설명을 구현하기 위해 Enum 클래스를 어떻게 정의합니까?

WBOY
WBOY앞으로
2023-04-29 15:16:131742검색

값 획득 및 설명을 구현하기 위해 Enum 클래스 정의

C++ 및 Java와 같은 컴퓨터 프로그래밍 언어에서 열거 유형(Enum)은 변수에 대해 미리 정의된 상수 집합을 정의할 수 있는 특수 데이터 유형입니다. 열거형을 사용할 때 열거형 변수의 값은 미리 정의된 값 중 하나여야 합니다.

1. 클래스 키워드를 사용하여 구현된 열거형

JDK5 이전에는 Java 언어가 열거형을 지원하지 않았으며 클래스를 사용하여 열거형을 시뮬레이션하고 구현할 수만 있었습니다.

/** 订单状态枚举 */public final class OrderStatus {    /** 属性相关 */
    /** 状态取值 */
    private final int value;    /** 状态描述 */
    private final String description;    /** 常量相关 */
    /** 已创建(1) */
    public static final OrderStatus CREATED = new OrderStatus(1, "已创建");    /** 进行中(2) */
    public static final OrderStatus PROCESSING = new OrderStatus(2, "进行中");    /** 已完成(3) */
    public static final OrderStatus FINISHED = new OrderStatus(3, "已完成");    /** 构造函数 */
    private OrderStatus(int value, String description) {        this.value = value;        this.description = description;
    }    /** 获取状态取值 */
    public int getValue() {        return value;
    }    /** 获取状态描述 */
    public String getDescription() {        return description;
    }
}

2. enum 키워드를 사용하여 구현된 열거 유형

JDK5는 Java의 열거 유형을 제공하여 제한된 명명된 값 세트를 새로운 유형으로 생성할 수 있습니다. 상수로 사용되는데 이는 매우 유용한 기능입니다.

/** 订单状态枚举 */public enum OrderStatus {    /** 常量相关 */
    /** 已创建(1) */
    CREATED(1, "已创建"),    /** 进行中(2) */
    PROCESSING(2, "进行中"),    /** 已完成(3) */
    FINISHED(3, "已完成");    /** 属性相关 */
    /** 状态取值 */
    private final int value;    /** 状态描述 */
    private final String description;    /** 构造函数 */
    private OrderStatus(int value, String description) {        this.value = value;        this.description = description;
    }    /** 获取状态取值 */
    public int getValue() {        return value;
    }    /** 获取状态描述 */
    public String getDescription() {        return description;
    }
}

사실 Enum 유형은 구문 설탕이며 컴파일러는 구문을 구문 분석하고 컴파일하는 데 도움이 됩니다. 디컴파일을 통해 Java 열거형이 실제로 컴파일 후에 클래스를 생성하는 것을 볼 수 있는데, 이 클래스는 java.lang.Enum을 상속하고 value(), valueOf()와 같은 열거형 유형의 공통 메서드를 추가합니다.

위 내용은 Java는 값과 설명을 구현하기 위해 Enum 클래스를 어떻게 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제