枚举(2) : No enum constant xxx

参考 : https://panyongzheng.iteye.com/blog/2201675

报错操作 : 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。

 

你可能感兴趣的:(#,枚举,No,enum,constant)