参考 : java枚举类型enum的使用 - pyzheng - ITeye博客
报错操作 : RuleEnum.valueOf("a");
报错信息 : IllegalArgumentException No enum const class SqlTypeEnum.XXX
意思是没有找到定义好的枚举,
解决 :
改为 RuleEnum rm =RuleEnum.valueOf("a".toUpperCase(Locale.ENGLISH)) , 或者 RuleEnum rm =RuleEnum.valueOf("A")
设置不区分大小写,还有就是, RuleEnum必须有定义 A("123"),才不会报错,如下参考
import java.util.Locale;
/**
* @Auther: liyue
* @Date: 2019/8/22 11:54
* @Description:
*/
public enum ColorEnum {
RED("red");
private String color;
ColorEnum(String color) {
this.color = color;
}
ColorEnum() {
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public static void main(String[] args) {
ColorEnum e1 = ColorEnum.valueOf("red".toUpperCase(Locale.ENGLISH));
//ColorEnum e2 = ColorEnum.valueOf("red1".toUpperCase(Locale.ENGLISH));// java.lang.IllegalArgumentException: No enum constant com.aliyun.et.industry.zhiguang.web.controller.ColorEnum.RED1
//ColorEnum e3 = ColorEnum.valueOf("red");// java.lang.IllegalArgumentException: No enum constant com.aliyun.et.industry.zhiguang.web.controller.ColorEnum.red
ColorEnum e4 = ColorEnum.valueOf("RED");
ColorEnum e5 = ColorEnum.RED;
}
}
END。