枚举类

1. 枚举

枚举介绍见链接:
zejian_ 深入理解Java枚举类型(enum)

使用具体链接:
Java 枚举(enum) 详解7种常见的用法

2. 注意点

  1. enum和class、interface的地位一样
  2. 使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。枚举类可以实现一个或多个接口。
  3. 枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。
  4. 使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。
  5. 枚举类的构造器只能是私有的。

2.1 示例:

枚举中有值,则要有对应的构造器。
定义私有变量与值对应,私有变量只有getter方法。
1.

enum SeasonEnum {
    SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天");

    private final String name;

    private SeasonEnum(String name)
    {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

2.

public enum Status  {
    DISABLE(0, "停"), ENABLE(1, "启");

    private Integer status;
    private String label;

    Status(Integer status, String label) {
        this.status = status;
        this.label = label;
    }

    @Override
    public Integer getValue() {
        return this.status;
    }

    @JsonValue
    public String getLabel() {
        return label;
    }
}

3.

public class ResponseResult {
    private Status status;
    private String message;
    private T data;
  
    public enum Status{
        SUCCESS(200),// 请求成功
        MULTIPLE_CHOICES(300), //资源找到重复
        BAD_REQUEST(400),//客户端请求错误:包括格式、参数等来自客户端的错误
        SERVER_ERROR(500);//服务器错误: 无法正常运行的或返回
        
        Status(int code) {
            this.code = code;
        }

        private int code;

        @Override
        @JsonValue
        public Integer getValue() {
            return code;
        }
    }
}

你可能感兴趣的:(enum,枚举)