枚举类
一、枚举类型
https://www.cnblogs.com/ziph/p/13068923.html
二、获取枚举类的值
有两种方法:最常见的的是遍历查找,也可以使用静态map类提高效率
1.1 遍历
public enum DomainTypeEnum { //音频 AUDIO(0, "audio"), //NLU文件 NLU_FILE(1, "nlu_file"), //TEXT文本 TEXT(2, "text"), //ASR_LM语料文件 ASR_LM_FILE(3, "asr_lm_file"); private Integer key; private String value; public static DomainTypeEnum getDomainType(Integer key) { for (DomainTypeEnum domainType : DomainTypeEnum.values()) { //遍历 if (domainType.getKey().equals(key)) { return domainType; } } throw new RuntimeException("不存在的领域类型: domainKey=" + key); } }
1.2 静态map
public enum Color { RED, GREEN, BLUE; // 静态Map,用于存储枚举名称与枚举值的映射关系 private static final Map<String, Color> NAME_MAP = new HashMap<>(); // 静态块,初始化Map static { for (Color color : values()) { NAME_MAP.put(color.name(), color); } } // 静态方法,通过名称查找枚举值 public static Color getByName(String name) { return NAME_MAP.get(name); } }
https://www.linuxprobe.com/java-enum-search.html