我们有很多时候,需要定义各种变量来管理各种数据,像一些接口返回变量和传参数据的数据需要相互转换的时间。枚举就是一种方式选择,可以避免一些相同的变量名称的定义错误的问题。直接上码:
/**
* ces
*/
public enum ColorEnum {
BLUE("蓝色", "1"),
RED("红色", "2"),
GREEN("绿色", "3");
private final String name;
private final String value;
ColorEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
/**
* 根据name查找
*
* @param name 枚举name
* @return value
*/
public static String findEnumByName(String name) {
for (ColorEnum colors : ColorEnum.values()) {
if (colors.getName().equals(name)) {
return colors.value;
}
}
throw new IllegalArgumentException("name is invalid");
}
/**
* 根据value查找
*
* @param value 枚举value
* @return name
*/
public static String findEnumByValue(String value) {
for (ColorEnum colors : ColorEnum.values()) {
if (colors.getValue().equals(value)) {
return colors.name;
}
}
throw new IllegalArgumentException("code is invalid");
}
}
直接使用:
val name = ColorEnum.findEnumByName("蓝色")
val value= ColorEnum.findEnumByValue("1")
System.out.println("name: "+name +" value:"+value)
打印:
name: 1 value:蓝色