Looking for java Answers? Try Ask4KnowledgeBase
Looking for java Keywords? Try Ask4Keywords

Java LanguageПеречисления


Вступление

Переменные Java (объявленные с использованием ключевого слова enum ) - это сокращенный синтаксис для значительных количеств констант одного класса.

Синтаксис

  • [public / protected / private] enum Enum_name {// Объявить новое перечисление.
  • ENUM_CONSTANT_1 [, ENUM_CONSTANT_2 ...]; // Объявляем константы перечисления. Это должна быть первая строка внутри перечисления и должна быть разделена запятыми, с точкой с запятой в конце.
  • ENUM_CONSTANT_1 (param) [, ENUM_CONSTANT_2 (param) ...]; // Объявлять константы enum с параметрами. Типы параметров должны соответствовать конструктору.
  • ENUM_CONSTANT_1 {...} [, ENUM_CONSTANT_2 {...} ...]; // Объявлять константы enum с переопределенными методами. Это необходимо сделать, если перечисление содержит абстрактные методы; все такие методы должны быть реализованы.
  • ENUM_CONSTANT.name () // Возвращает строку с именем константы перечисления.
  • ENUM_CONSTANT.ordinal () // Возвращает порядковый номер этой константы перечисления, ее позицию в объявлении перечисления, где исходной константе присваивается порядковый номер нуля.
  • Enum_name.values ​​() // Возвращает новый массив (типа Enum_name []), содержащий каждую константу этого перечисления каждый раз, когда он вызывается.
  • Enum_name.valueOf ("ENUM_CONSTANT") // Обратное к ENUM_CONSTANT.name () - возвращает константу перечисления с заданным именем.
  • Enum.valueOf (Enum_name.class, "ENUM_CONSTANT") // Синоним предыдущей: Обратный ENUM_CONSTANT.name () - возвращает константу перечисления с заданным именем.

замечания

ограничения

Enums всегда расширяют java.lang.Enum , поэтому невозможно, чтобы enum расширил класс. Однако они могут реализовать множество интерфейсов.

Советы и хитрости

Из-за их специализированного представления есть более эффективные карты и наборы, которые можно использовать с перечислениями в качестве их ключей. Они часто будут работать быстрее, чем их неспециализированные коллеги.

Перечисления Связанные примеры