枚举的实例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));
    }

}  

相关文章
相关标签/搜索