Подтвердить что ты не робот

Java: анонимные enums?

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

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

Пример:

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

Есть ли способ избежать объявления public enum Option и вместо этого просто разрешить опциональную переменную устанавливать либо FirstOption, SecondOption, либо ThirdOption без понятия типа "Option"?

4b9b3361

Ответ 1

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

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

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

  Option option;
}