enum valueOf IllegalArgumentException:没有枚举 const 类

2023-11-26

我过去在java中使用过枚举,但由于某种原因我现在遇到了一个奇怪的错误。它引发错误的代码行是:

switch(ConfigProperties.valueOf(line[0].toLowerCase()){
    ...
}

我得到了

java.lang.IllegalArgumentException: No enum const class
  allautomator.ConfigProperties.language 

示例行中是一个字符串数组。

我现在真的很困惑,我不知道可能出了什么问题。


枚举常量区分大小写,因此请确保常量确实是小写的。另外,我建议你trim()输入也确保没有前导/尾随空格潜入其中:

ConfigProperties.valueOf(line[0].toLowerCase().trim())

作为参考,这里是一个包含您的行的工作示例程序:

enum ConfigProperties { prop1, prop2 }

class Test {
    public static void main(String[] args) {

        String[] line = { "prop1" };

        switch (ConfigProperties.valueOf(line[0].toLowerCase())) {
        case prop1: System.out.println("Property 1"); break;
        case prop2: System.out.println("Property 2"); break;
        }
    }
}

Output:

Property 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

enum valueOf IllegalArgumentException:没有枚举 const 类 的相关文章

随机推荐