枚舉類

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;
        }
    }
}
相關文章
相關標籤/搜索