Java Enum: основные принципы и использование

Enum в Java

Enum в Java

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

Пример:


enum DayOfWeek {
  MONDAY,
  TUESDAY,
  WEDNESDAY,
  THURSDAY,
  FRIDAY,
  SATURDAY,
  SUNDAY
}

public class EnumExample {
  public static void main(String[] args) {
    DayOfWeek today = DayOfWeek.WEDNESDAY;
    System.out.println("Today is " + today); // Выводит "Today is WEDNESDAY"
    
    // Использование switch для обработки различных вариантов enum
    switch(today) {
      case MONDAY:
      case TUESDAY:
      case WEDNESDAY:
      case THURSDAY:
      case FRIDAY:
        System.out.println("It's a weekday");
        break;
      case SATURDAY:
      case SUNDAY:
        System.out.println("It's a weekend");
        break;
    }
  }
}
    

В данном примере мы создали enum DayOfWeek, который определяет набор возможных значений для дней недели. В классе EnumExample мы присвоили переменной today значение DayOfWeek.WEDNESDAY и вывели его на экран. Затем мы использовали конструкцию switch для проверки значения переменной today и выводим соответствующее сообщение.

Добавление дополнительных полей и методов:


enum DayOfWeek {
  MONDAY("Mon"),
  TUESDAY("Tue"),
  WEDNESDAY("Wed"),
  THURSDAY("Thu"),
  FRIDAY("Fri"),
  SATURDAY("Sat"),
  SUNDAY("Sun");
  
  private String abbreviation;
  
  DayOfWeek(String abbreviation) {
    this.abbreviation = abbreviation;
  }
  
  public String getAbbreviation() {
    return abbreviation;
  }
}

public class EnumExample {
  public static void main(String[] args) {
    DayOfWeek today = DayOfWeek.WEDNESDAY;
    System.out.println("Today is " + today.getAbbreviation()); // Выводит "Today is Wed"
  }
}
    

В данном примере к enum DayOfWeek добавлено поле abbreviation и конструктор, который принимает его значение. Также добавлен метод getAbbreviation(), возвращающий значение этого поля. В методе main() мы вызываем этот метод для переменной today и выводим полученное значение.

Статические методы и блоки инициализации:

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

Теперь вы знаете, как создавать и использовать enumы в Java. Они предоставляют удобный способ определения константных значений и управления списками возможных вариантов. Будьте внимательны при использовании enumов и учтите их особенности в вашем проекте.

Похожие вопросы на: "java enum "

Group by SQL: группировка данных в SQL запросах
Настройка git config
Орд Питон: основы и применение
Инициализация в Python
Использование метода dropna в библиотеке Pandas
JS Object Keys - работа с ключами объекта в JavaScript
Рандом имя
Discord Webhooks: автоматизация уведомлений в Discord
SQLCMD: инструмент командной строки для работы с базами данных
Барплот: диаграмма для визуализации данных