Enum (перечисление) в Java

Java Программирование и разработка

Java предоставляет класс перечисления, который можно использовать для представления группы констант, и он может иметь атрибуты класса, функции-члены и конструкторы. Класс перечисления не может наследовать какой-либо другой класс, но он может реализовывать разные интерфейсы, и мы не можем создать объект класса перечисления.

В Java, если нам нужно указать одно значение как константу, мы можем использовать ключевое слово final. Однако, если нам нужно указать группу/набор констант, мы можем использовать концепцию enums. В Java доступно множество методов, которые можно использовать для выполнения различных функций, таких как values(), ordinal() и многие другие.

В этой статье представлено глубокое понимание следующих концепций, касающихся перечислений Java:

  • Что такое Enum в Java
  • Базовый синтаксис
  • Как использовать Enum в классе
  • Как перебрать Enum
  • Как использовать Enum в операторе Switch

Итак, приступим!

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

Enum аббревиатура от enumerations — это особый класс, который состоит из группы констант (значения которых не могут быть изменены) и будет записываться заглавными буквами. Таким образом, перечисления широко используются, когда мы уверены, что значения не будут изменены, например, названия месяцев, названия цветов и т. д.

Базовый синтаксис

В Java класс enum можно создать с помощью ключевого слова enum, как показано в приведенном ниже синтаксисе:

enum Example {

//set of constants written in Uppercase

}

Поскольку перечисление содержит набор констант, и в соответствии с соглашением об именах Java «константа» должна быть в верхнем регистре, поэтому все значения в перечислении будут написаны заглавными буквами.

Как создать и получить доступ к Enum в Java

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

enum Example {

FRIDAY,

SATURDAY,

SUNDAY

}

Доступ к константе перечисления можно получить с помощью синтаксиса точка (.), как показано в приведенном ниже фрагменте:

Example exp = exp.SUNDAY

Enum в Classes

В Java мы можем использовать перечисление внутри класса для представления группы констант.

Пример

В этом примере мы будем использовать перечисление в классе, а внутри перечисления мы укажем некоторые значения.

public class EnumsExample {
enum WeekDays{
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public static void main(String[] args) {
WeekDays dayObj = WeekDays.FRIDAY;
System.out.println(day);
}

Мы получаем доступ к значениям enum из основного метода. Полный код с соответствующим выводом представлен на скриншоте ниже:

Мы получаем доступ к значениям enum из основного

В приведенном выше фрагменте показано, как создать перечисление в классе, а выходные данные подтверждают эффективность перечисления.

Как перебрать Enum

В Java перечисления можно использовать для обхода всех значений констант, и для этого мы можем использовать метод values() для получения массива, содержащего все значения перечисления.

Пример

В этом примере мы создадим перечисление в классе, содержащем названия дней недели, и с помощью метода values() попытаемся обойти все значения перечисления:

public class EnumsExample {
enum WeekDays{
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public static void main(String[] args) {
for (WeekDays day : WeekDays.values())
System.out.println(day);
}
}

Приведенный ниже фрагмент описывает работу метода values():

Приведенный ниже фрагмент описывает ра

Вывод подтверждает работу метода values(), поскольку он возвращает полный массив констант.

Нахождение индекса константы перечисления

Комбинация методов valueOf() и ordinal() будет использоваться для нахождения индекса константы перечисления. В методе valueOf() мы должны указать значение, индекс которого мы хотим узнать.

Пример

В приведенном ниже фрагменте объясняется, как найти индекс константы перечисления:

ystem.out.println(«Index of Friday: « + WeekDays.valueOf(«FRIDAY»).ordinal());

Приведенный выше фрагмент кода генерирует следующий вывод:

иведенный выше фрагмент кода генерирует

Вывод подтверждает работу метода ordinal(), поскольку он возвращает правильный индекс указанного значения.

Enum в операторе Switch

Мы также можем использовать перечисления в переключателях для проверки соответствующих значений.

Пример

В приведенном ниже фрагменте есть перечисление, содержащее названия дней недели. В основном методе мы создаем семь случаев переключения для каждого дня недели и указываем условие для нахождения СРЕДА.

public class EnumsExample {

enum WeekDays {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public static void main(String[] args) {
WeekDays day = WeekDays.WEDNESDAY;
switch (day) {
case MONDAY:
System.out.println(«MONDAY»);
break;
case TUESDAY:
System.out.println(«TUESDAY»);
break;
case WEDNESDAY:
System.out.println(«WEDNESDAY»);
break;
case THURSDAY:
System.out.println(«THURSDAY»);
break;
case FRIDAY:
System.out.println(«FRIDAY»);
break;
case SATURDAY:
System.out.println(«SATURDAY»);
break;
case SUNDAY:
System.out.println(«SUNDAY»);
break;
}
}
}

Ниже будет вывод для приведенного выше фрагмента кода:

е будет вывод для приведенного выше фраг

Вывод подтверждает, что перечисление правильно работает в операторе switch Java.

Заключение

В java enum — это специальный класс, который содержит группу констант и может использоваться, когда есть гарантия, что определенные значения не будут изменены в течение всей программы. Enum предоставляет некоторые предопределенные методы, такие как values(), который возвращает массив констант перечисления, ordinal() возвращает индекс констант перечисления и многие другие методы, которые можно использовать для выполнения различных функций.

В этой статье представлен подробный обзор того, что такое перечисление и как использовать перечисление в классах Java и операторах switch.

Читайте также:  Каковы основные функции HTML DOM?
Оцените статью
bestprogrammer.ru
Добавить комментарий