枚举类

1. 枚举

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

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

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.ide

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.this

public class ResponseResult<T> {
    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;
        }
    }
}
相关文章
相关标签/搜索