Учебники по Java

Ява ГЛАВНАЯ Введение в Java Начало работы с Java Синтаксис Java Java-комментарии Java-переменные Типы данных Java Приведение типов Java Операторы Java Java-строки Java-математика Логические значения Java Java, если...иначе Java-переключатель Java-цикл во время выполнения Java для цикла Перерыв/продолжение Java Массивы Java

Java-методы

Java-методы Параметры метода Java Перегрузка метода Java Область применения Java Java-рекурсия

Java-классы

Java ООП Классы/объекты Java Атрибуты класса Java Методы класса Java Конструкторы Java Модификаторы Java Инкапсуляция Java Java-пакеты/API Наследование Java Java-полиморфизм Внутренние классы Java Java-абстракция Java-интерфейс Перечисления Java Пользовательский ввод Java Дата Java Список массивов Java Связанный список Java Java HashMap Набор хэшей для Java Java-итератор Классы-оболочки Java Исключения Java Java регулярное выражение Java-потоки Java-лямбда

Обработка файлов Java

Java-файлы Создание/запись файлов Java Файлы чтения Java Java Удалить файлы

Java Как

Добавить два числа

Справочник по Java

Ключевые слова Java Строковые методы Java Java математические методы

Примеры Java

Примеры Java Компилятор Java Java-упражнения Java-викторина Java-сертификат


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


перечисления

An enum— это специальный «класс», который представляет собой группу констант (неизменяемых переменных, таких как finalпеременные).

Чтобы создать enum, используйте enumключевое слово (вместо класса или интерфейса) и разделите константы запятой. Обратите внимание, что они должны быть заглавными буквами:

Пример

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

Вы можете получить доступ к enumконстантам с помощью точечного синтаксиса:

Level myVar = Level.MEDIUM;

Enum — это сокращение от «enumerations», что означает «конкретно перечисленные».


Перечисление внутри класса

Вы также можете иметь enumвнутри класса:

Пример

public class Main {
  enum Level {
    LOW,
    MEDIUM,
    HIGH
  }

  public static void main(String[] args) {
    Level myVar = Level.MEDIUM; 
    System.out.println(myVar);
  }
}

Вывод будет:

MEDIUM

Перечисление в операторе Switch

Перечисления часто используются в switchоператорах для проверки соответствующих значений:

Пример

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

public class Main {
  public static void main(String[] args) {
    Level myVar = Level.MEDIUM;

    switch(myVar) {
      case LOW:
        System.out.println("Low level");
        break;
      case MEDIUM:
         System.out.println("Medium level");
        break;
      case HIGH:
        System.out.println("High level");
        break;
    }
  }
}

Вывод будет:

Medium level

Цикл через перечисление

Тип перечисления имеет values()метод, который возвращает массив всех констант перечисления. Этот метод полезен, когда вы хотите перебрать константы перечисления:

Пример

for (Level myVar : Level.values()) {
  System.out.println(myVar);
}

Вывод будет:

LOW
MEDIUM
HIGH

Разница между перечислениями и классами

У enumcan, как и у class, есть атрибуты и методы. Единственная разница в том, что константы перечисления - это public, staticи final (неизменяемые - не могут быть переопределены).

Не enumможет использоваться для создания объектов и не может расширять другие классы (но может реализовывать интерфейсы).

Зачем и когда использовать перечисления?

Используйте перечисления, когда у вас есть значения, которые, как вы знаете, не изменятся, например дни месяца, дни, цвета, колода карт и т. д.