Enum в Java

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

Вот основные особенности и примеры использования enum в Java:

Определение Enum

public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

Использование Enum

public class EnumExample {
public static void main(String[] args) {
Day today = Day.MONDAY;

switch (today) {
case MONDAY:
System.out.println("It's Monday!");
break;
case FRIDAY:
System.out.println("It's Friday!");
break;
default:
System.out.println("It's another day.");
break;
}
}
}

Методы Enum

Каждое перечисление имеет методы name(), ordinal() и values().

  • name(): Возвращает имя константы как строку.
  • ordinal(): Возвращает порядковый номер константы (начиная с 0).
  • values(): Возвращает массив всех констант в порядке их объявления.

Пример использования методов:

public class EnumMethodsExample {
public static void main(String[] args) {
Day today = Day.MONDAY;

System.out.println("Name: " + today.name());
System.out.println("Ordinal: " + today.ordinal());

for (Day day : Day.values()) {
System.out.println(day);
}
}
}

Enum с методами и полями

Enum может иметь собственные методы и поля. Это позволяет делать перечисления более функциональными.

public enum Planet {
MERCURY(3.303e+23, 2.4397e6),
VENUS(4.869e+24, 6.0518e6),
EARTH(5.976e+24, 6.37814e6);

private final double mass; // in kilograms
private final double radius; // in meters

Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}

public double getMass() {
return mass;
}

public double getRadius() {
return radius;
}
}

public class EnumWithMethodsExample {
public static void main(String[] args) {
for (Planet planet : Planet.values()) {
System.out.printf("%s: mass = %f, radius = %f%n", planet, planet.getMass(), planet.getRadius());
}
}
}

Итоги

Использование enum в Java позволяет:

  • Группировать связанные константы.
  • Улучшить читаемость и поддержку кода.
  • Использовать встроенные методы для работы с перечислениями.
  • Определять методы и поля внутри enum для расширения функциональности.

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

Каталог и рейтинг онлайн-курсов программирования Джава
Logo