>  기사  >  Java  >  Java에서 enum(열거) 사용법에 대한 자세한 설명

Java에서 enum(열거) 사용법에 대한 자세한 설명

王林
王林앞으로
2019-11-27 15:49:342761검색

Java에서 enum(열거) 사용법에 대한 자세한 설명

Java Enum 원칙:

public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };

사실 이 선언으로 정의된 유형은 정확히 4개의 인스턴스를 갖는 클래스입니다.

따라서 두 열거형의 값을 비교할 때는 반드시 equals 메소드를 호출할 필요가 없고, "=="만 직접 사용하면 됩니다. (equals() 메소드도 ==를 직접 사용하며 둘 다 동일한 효과를 갖습니다.)

추천 관련 비디오 튜토리얼: java 교육 비디오

사용법 1: 상수

JDK1.5 이전에는 상수를 정의했습니다. 예: public static fianl.... . 이제 열거형을 사용하면 관련 상수를 열거형으로 그룹화할 수 있으며 열거형은 상수보다 더 많은 메서드를 제공합니다.

public enum Color {  
  RED, GREEN, BLANK, YELLOW  
}

사용법 2: switch

JDK1.6 이전의 스위치 문은 int, char 및 enum 유형만 지원하므로 열거형을 사용하면 코드를 더 쉽게 읽을 수 있습니다.

enum Signal {
        GREEN, YELLOW, RED
    }

    public class TrafficLight {
        Signal color = Signal.RED;

        public void change() {
            switch (color) {
            case RED:
                color = Signal.GREEN;
                break;
            case YELLOW:
                color = Signal.RED;
                break;
            case GREEN:
                color = Signal.YELLOW;
                break;
            }
        }
    }

사용법 3: 열거형에 새 메서드 추가

자신만의 메서드를 사용자 정의하려는 경우 열거형 인스턴스 시퀀스 끝에 세미콜론을 추가해야 하며 Java에서는 열거형 인스턴스를 먼저 정의해야 합니다. .

public enum Color {
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    // 成员变量
    private String name;
    private int index;

    // 构造方法
    private Color(String name, int index) {
        this.name = name;
        this.index = index;
    }

    // 普通方法
    public static String getName(int index) {
        for (Color c : Color.values()) {
        if (c.getIndex() == index) {
            return c.name;
        }
        }
        return null;
    }

    // get set 方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
    }

사용법 4: 열거형 메서드 재정의

다음은 toString() 메서드를 재정의하는 예입니다.

public class Test {
    public enum Color {
        RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
        // 成员变量
        private String name;
        private int index;

        // 构造方法
        private Color(String name, int index) {
            this.name = name;
            this.index = index;
        }

        // 覆盖方法
        @Override
        public String toString() {
            return this.index + "_" + this.name;
        }
    }

    public static void main(String[] args) {
        System.out.println(Color.RED.toString());
    }
}

사용법 5: 인터페이스 구현

모든 열거형은 java.lang.Enum 클래스에서 상속됩니다. Java는 다중 상속을 지원하지 않으므로 열거형 객체는 다른 클래스에서 상속할 수 없습니다.

public interface Behaviour {
    void print();

    String getInfo();
    }

    public enum Color implements Behaviour {
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    // 成员变量
    private String name;
    private int index;

    // 构造方法
    private Color(String name, int index) {
        this.name = name;
        this.index = index;
    }

    // 接口方法

    @Override
    public String getInfo() {
        return this.name;
    }

    // 接口方法
    @Override
    public void print() {
        System.out.println(this.index + ":" + this.name);
    }
    }

사용법 6: 인터페이스를 사용하여 열거형 구성

public interface Food {
        enum Coffee implements Food {
            BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
        }

        enum Dessert implements Food {
            FRUIT, CAKE, GELATO
        }
    }

더 많은 관련 기사와 튜토리얼을 보려면 다음을 방문하세요. Java 시작하기

위 내용은 Java에서 enum(열거) 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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