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);
        }

    }
}

控制台输出:

猜你喜欢

转载自blog.csdn.net/yuezisonghao/article/details/83307887