自用java枚举类模板

/**
 * 模板枚举
 */
public enum ColorEnum {

    /**
     *
     */
    RED(1, "红色"),
    GREEN(2, "绿色"),
    YELLOW(3, "黄色"),
    ;

    private final Integer index;
    private final String name;

    ColorEnum(Integer index, String name) {
        this.index = index;
        this.name = name;
    }

    public Integer getIndex() {
        return index;
    }

    public String getName() {
        return name;
    }

    private static Map<Integer, Object> map = new HashMap<Integer, Object>();

    static {
        //初始化的时候将枚举缓存到一个map中,方便直接通过index获取对应的枚举
        for (ColorEnum e : ColorEnum.values()) {
            map.put(e.getIndex(), e);
        }
    }

    /**
     * 通过index获取对应的name
     * 如果index为null或者不是有效的index,返回空字符串
     * 否则返回正常对应的值
     * @param index
     * @return
     */
    public static String getName(Integer index) {
        ColorEnum e = get(index);
        return e==null?"":e.getName();
    }

    /**
     * 通过index获取对应的枚举
     * @param index
     * @return
     */
    public static ColorEnum get(Integer index) {
        return  (ColorEnum) map.get(index);
    }

}
支付宝搜索:344355 领取随机红包

如果文章对您有帮助的话,欢迎老板打赏↑↑↑(请我吃饭😋