java Enum根据key值获取对应的value
时间: 2023-06-01 20:01:30 浏览: 151
java使用fastJson处理复杂Json字符串,直接获取key对应的value值
在Java中,可以通过以下方式获取Enum类型的值:
1. 使用Enum的valueOf()方法,该方法根据传入的字符串参数返回对应的枚举常量,如果该字符串不是有效的枚举常量名称,则会抛出IllegalArgumentException异常。
例如:
```
public enum Color {
RED("红色"), GREEN("绿色"), BLUE("蓝色");
private String name;
Color(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Color color = Color.valueOf("RED");
System.out.println(color.getName()); // 输出:红色
```
2. 定义一个静态的Map对象,将枚举常量的key和value都存储在Map中,然后根据key值获取对应的value。
例如:
```
public enum Color {
RED("红色"), GREEN("绿色"), BLUE("蓝色");
private String name;
Color(String name) {
this.name = name;
}
public String getName() {
return name;
}
private static final Map<String, Color> map = new HashMap<>();
static {
for (Color color : Color.values()) {
map.put(color.name(), color);
}
}
public static Color valueOfName(String name) {
return map.get(name);
}
}
Color color = Color.valueOfName("RED");
System.out.println(color.getName()); // 输出:红色
```
阅读全文