1. 程式人生 > >java基礎(2)-----列舉

java基礎(2)-----列舉

JDK1.5之後引入了新的型別-列舉,本質就是繼承了Enum類,下面是工作中我們可能要用到的一些場景,示例附帶測試程式碼,大家可以直接黏貼進行測試,加深理解,有不足的地方,歡迎指導。

一、最簡單的用法--常量

public enum Color {
    GREEN,RED,YELLOW;

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

        for (Color c: Color.values()) {
            System.out.println(c.name());//其中Color.values()返回所有例項陣列
        }
    }
}

控制檯輸出:

二、結合switch使用,增強程式碼可讀性

public enum Color {
    GREEN,RED,YELLOW;

    public static void main(String[] args) {
        Color c = RED;
        switch (c){
            case RED:
                System.out.println("RED");
                break;
            case GREEN:
                System.out.println("GREEN");
                break;
            case YELLOW:
                System.out.println("YELLOW");
                break;
            default:
                System.out.println("not exist");
                break;
        }
    }
}

控制檯輸出:

三、帶引數的列舉常量,工作中經常遇到,常常用在自定義錯誤碼

public enum ErrorCode {
    HTTP_500("500","Server is down"),HTTP_404("404","request not find"),HTTP_200("200","Http 200");

    private String code;
    private String msg;

    ErrorCode(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public static void main(String[] args) {
        System.out.println(ErrorCode.HTTP_200.code + ":" + ErrorCode.HTTP_200.msg);
        for (ErrorCode errorCode: values()) {
            System.out.println(errorCode.code + ":" + errorCode.msg);
        }

    }
}

控制檯輸出: