Java 枚举模版

Posted AAA啊哈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 枚举模版相关的知识,希望对你有一定的参考价值。

项目中使用枚举,为了方便,编辑了模版,每次都能自动生成这些轮子:

#if ($PACKAGE_NAME != "")package $PACKAGE_NAME;#end

import java.util.HashMap;

#if ($IMPORT_BLOCK != "")$IMPORT_BLOCK
#end
#parse("File Header.java")

#if ($VISIBILITY == "PUBLIC")public #end enum $NAME #if ($INTERFACES != "")implements $INTERFACES #end 

    ONE(1, "one"),
    TWO(2, "two"),
    ;

    private Integer value;

    private String desc;


    $NAME(Integer value, String desc) 
        this.value = value;
        this.desc = desc;
    

    public String getDesc() 
        return desc;
    

    public void setDesc(String desc) 
        this.desc = desc;
    

    public Integer getValue() 
        return value;
    

    public void setValue(Integer value) 
        this.value = value;
    


    public static Integer getValueByDesc(String desc)
        for ($NAME enumItem : $NAME.values()) 
            if(enumItem.getDesc().equals(desc))
                return enumItem.getValue();
            
        
        return -1;
    

    public static String getDescByValue(Integer value)
        for ($NAME enumItem : $NAME.values()) 
            if(enumItem.getValue().equals(value))
                return enumItem.getDesc();
            
        
        return "";
    

    public static HashMap<Integer, String> getMapData() 
        HashMap<Integer, String> map = new HashMap<>();
        for ($NAME enumItem : $NAME.values()) 
            map.put(enumItem.getValue(), enumItem.getDesc());
        
        return map;
    

以上是关于Java 枚举模版的主要内容,如果未能解决你的问题,请参考以下文章

ACwing 93模版非递归实现组合型枚举——模拟递归

次最小生成树 模版

模版最小生成树Kruskal模版

一网打尽!二分查找解题模版与题型全面解析

Java模版方法的另一种实现

java如何做用户自定义模版,导出word?