java Enum根据value值获取对应的key
时间: 2023-06-01 12:01:26 浏览: 141
可以通过循环枚举来获取对应的key。
示例代码:
```java
public enum MyEnum {
KEY1("value1"), KEY2("value2"), KEY3("value3");
private String value;
MyEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public static String getKeyByValue(String value) {
for (MyEnum myEnum : MyEnum.values()) {
if (myEnum.getValue().equals(value)) {
return myEnum.name();
}
}
return null;
}
}
```
使用示例:
```java
String key = MyEnum.getKeyByValue("value1");
System.out.println(key); // 输出 KEY1
```
相关问题
java Enum根据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()); // 输出:红色
```
java中的enum中,有两个字段key,value,通过value获取对应key
在Java中,`enum`(枚举类型)是一种特殊的数据类型,它允许你创建一组有限的常量。如果你有一个`enum`定义了两个字段,如`key`和`value`,通常情况下,`key`表示枚举项的标识符,而`value`存储的是关联的具体值。例如:
```java
public enum Color {
RED("红色", 0xFF0000),
GREEN("绿色", 0x00FF00),
BLUE("蓝色", 0x0000FF);
private String key;
private int value;
// 枚举构造函数
Color(String key, int value) {
this.key = key;
this.value = value;
}
// 通过value获取对应的key
public String getKeyByValue(int valueToFind) {
for (Color color : values()) {
if (color.getValue() == valueToFind) {
return color.getKey();
}
}
return null; // 如果找不到匹配的值,则返回null
}
// 获取value
public int getValue() {
return value;
}
public String getKey() {
return key;
}
}
```
在这个例子中,你可以通过`Color.getColorByKey(value)`方法查找并获取指定值所对应的键。
阅读全文