Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的枚举_Java_Enumeration - Fatal编程技术网

Java中的枚举

Java中的枚举,java,enumeration,Java,Enumeration,我想知道我的代码有什么问题 public static enum e_option { HELP, AUTHOR, PROJ_NAME, DESC, MAIN_CLASS_NAME, BASE_DIR, XML_NAME, RULE_OPT, UNKNOWN } 我有这个方法 public e_option s2i(String arg) {

我想知道我的代码有什么问题

public static enum e_option
{
        HELP,
        AUTHOR,
        PROJ_NAME,
        DESC,
        MAIN_CLASS_NAME,
        BASE_DIR,
        XML_NAME,
        RULE_OPT,
        UNKNOWN
}
我有这个方法

public e_option s2i(String arg)
    {
        e_option opt = null;
        if (arg.equals("--help"))
        {
            opt = HELP;
        }
        if (arg.equals("--author"))
        {
            opt = AUTHOR;
        }

    }

问题是eclipse不识别帮助和作者。它建议我创建一个新的常量,它是bizzare。

要获得
枚举的值,您必须使用它的名称:

opt = e_option.HELP;

为什么不试试e_option.HELP而不是HELP?

您需要指定枚举名称:

opt = e_option.HELP;

除其他事项外,您承诺返回e_选项是错误的,但您没有这样做。

对于格式很抱歉,通常stackoverflow会自动识别代码,因此不会自动识别代码。正如你提问时在帮助框中所说的那样,“► 将代码缩进4个空格”。如果您的代码已经在每行缩进至少4个空格(以及代码前的一个空行),它将工作。在你的例子中,你有几行没有缩进,所以它不起作用。我会做的,实际上我没有显示所有的代码来简化表示。这很高尚,但你应该确保你的简化不会引入新的错误。复制/粘贴简化示例中获得的确切编译器消息也是一个好主意。人们经常会遇到这样的问题:Plz帮助,为什么编译器出错?!?!然后是几十行代码。你的稍微好一点,但仍然可以改进。