Java: анонимные перечисления? - PullRequest
19 голосов
/ 22 июля 2010

Имеет ли Java возможность анонимных перечислений?

Например, я хочу, чтобы у моего класса была одна переменная, значение которой может быть одним из 5 различных параметров.Очевидно, что эта переменная должна быть перечислением.Но это ЕДИНСТВЕННОЕ место, где этот конкретный enum будет использоваться.Обычно я бы объявлял тип enum прямо над переменной, а затем объявлял переменную как этот тип, но мне было интересно, есть ли более чистый способ.Поддерживает ли Java анонимные перечисления?

Пример:

public class Test {
    public enum Option {
        FirstOption,
        SecondOption,
        ThirdOption
    }
    Option option;
}

Есть ли способ избежать объявления public enum Option и вместо этого просто позволить переменной опции установить значение FirstOption, SecondOption или ThirdOptionбез понятия типа «Опция»?

1 Ответ

21 голосов
/ 22 июля 2010

Нет Java не поддерживает анонимные enum с.

Просто объявите их внутри класса без внешней видимости:

public class Test {
  private static enum Option {
    FirstOption,
    SecondOption,
    ThirdOption
  }

  Option option;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...