Перечисление в Java - PullRequest
       0

Перечисление в Java

0 голосов
/ 11 апреля 2011

Я хотел бы знать, что не так с моим кодом

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;
        }

    }

проблема в том, что затмение не распознает HELP и AUTHOR. Он предлагает мне создать новые константы, что является bizzare.

Ответы [ 4 ]

1 голос
/ 11 апреля 2011

Чтобы получить значение enum, вы должны использовать его имя:

opt = e_option.HELP;
0 голосов
/ 11 апреля 2011

Помимо прочего, неправильно обещать вернуть e_option, но вы этого не делаете.

0 голосов
/ 11 апреля 2011

Вам необходимо указать имя перечисления:

opt = e_option.HELP;
0 голосов
/ 11 апреля 2011

Почему бы вам не попробовать e_option.HELP вместо HELP?

...