枚舉的使用

  今天領導要求使用枚舉類型實現一些常量設置,在此記錄下使用心得(仍是一些比較簡單的應用)。this

  首先定義了以下的枚舉類spa

/**
 * ${DESCRIPTION}
 *
 * @author dengguoqing
 * @date 2018-08-27
 */
public enum Status {
    /**
     * 關閉狀態
     */
    CLOSE("8"),
    /**
     * 將要刪除狀態
     */
    WILL_DELETE("9"),
    /**
     * 正常狀態
     */
    OTHER("-1");

    private final String code;

    Status(String code) {
        this.code = code;
    }


    public String getCode() {
        return code;
    }
}

  在此考慮的如何生成新的枚舉類,由於是用來作比較。並且新的枚舉類的參數是經過其餘類傳遞的。code

  因此在如何生成新的枚舉類時產生了困惑。先是使用了if後來改爲swith,可是感受都不太對勁,若是類的類型愈來愈多仍是會有問題。對象

  經過百度使用了以下方法來生成新的枚舉類blog

 

package com.jrx.anytxn.account.common.constant;

/**
 * ${DESCRIPTION}
 *
 * @author dengguoqing
 * @date 2018-08-27
 */
public enum Status {
    /**
     * 關閉狀態
     */
    CLOSE("8"),
    /**
     * 將要刪除狀態
     */
    WILL_DELETE("9"),
    /**
     * 正常狀態
     */
    OTHER("-1");

    private final String code;

    Status(String code) {
        this.code = code;
    }

    public static Status getStatus(String code){
        for (Status status : Status.values()) {
            if (status.getCode().equals(code)){
                return status;
            }
        }
        return OTHER;
    }

    public String getCode() {
        return code;
    }
}

  暫時以此方法生成新的枚舉對象。get

相關文章
相關標籤/搜索