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
В 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.