枚举类中有2个值,如何根据值1取值2,根据值2取值1
如果枚举类中有两个值,并且你想要根据其中一个值获取另一个值,可以在枚举类中添加方法来实现。
public enum MyEnum {
VALUE1("Value1", "Value2"),
VALUE2("Value2", "Value1");
private String value1;
private String value2;
MyEnum(String value1, String value2) {
this.value1 = value1;
this.value2 = value2;
}
public String getValue1() {
return value1;
}
public String getValue2() {
return value2;
}
public static String getValue2ByValue1(String value1) {
for (MyEnum myEnum : values()) {
if (myEnum.value1.equals(value1)) {
return myEnum.value2;
}
}
return null;
}
public static String getValue1ByValue2(String value2) {
for (MyEnum myEnum : values()) {
if (myEnum.value2.equals(value2)) {
return myEnum.value1;
}
}
return null;
}
}
在这个示例中,枚举类MyEnum
定义了两个枚举常量,每个常量都有对应的value1
和value2
。通过定义getValue2ByValue1
和getValue1ByValue2
方法,可以根据value1
获取对应的value2
,或者根据value2
获取对应的value1
。
使用示例:
String value2 = MyEnum.getValue2ByValue1("Value1");
System.out.println(value2); // 输出: Value2
String value1 = MyEnum.getValue1ByValue2("Value2");
System.out.println(value1); // 输出: Value1