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));
}
}