枚舉的實例1

package com.mythread.www;java

import java.util.HashMap;
import java.util.Map;this

public enum OtherPartyOrderSynchResultEnum {
    SUCCESS(0, "成功"), FAIL(900018, "該用戶的身份證購買的號碼數量超過限制"), INTERFACE_SERVICE_ERROR(900018, "該用戶的身份證購買的號碼數量超過限制");code

    private Integer status;
    private String desc;字符串

    public Integer getStatus() {
        return status;
    }get

    public void setStatus(Integer status) {
        this.status = status;
    }thread

    public String getDesc() {
        return desc;
    }import

    public void setDesc(String desc) {
        this.desc = desc;
    }方法

    // 有參構造
    private OtherPartyOrderSynchResultEnum(Integer status, String desc) {
        this.status = status;
        this.desc = desc;
    }im

    // 建立一個集合
    private static Map<Integer, OtherPartyOrderSynchResultEnum> codeLookup = new HashMap<>();
    // 加載數據
    static {
        // 經過靜態代碼塊將枚舉中的實例經過Map集合存放,其中key存放實例的第一個參數數字, value存放整個實例
        for (OtherPartyOrderSynchResultEnum type : OtherPartyOrderSynchResultEnum.values()) {
            codeLookup.put(type.status, type);
        }數據

    }

    // 使用靜態方法,經過輸入實例的數值,來獲取相關實例的存放的字符串
    public static OtherPartyOrderSynchResultEnum forCode(int code) {
        if (codeLookup.get(code) != null) {
            return codeLookup.get(code);

        }
        return OtherPartyOrderSynchResultEnum.INTERFACE_SERVICE_ERROR;

    }

    public static void main(String[] args) {
        System.out.println(OtherPartyOrderSynchResultEnum.SUCCESS.getStatus());
        System.out.println(OtherPartyOrderSynchResultEnum.SUCCESS.getDesc());
        System.out.println(OtherPartyOrderSynchResultEnum.forCode(0));
    }

}  

相關文章
相關標籤/搜索