Java Enums

Оновлено: 22.05.2023

Перелічення

Перерахування - це спеціальний "клас", який представляє групу констант (незмінних змінних, таких як кінцеві змінні).

Щоб створити перерахування, використовуйте ключове слово enum (замість class або interface) і відокремлюйте константи комою. Зверніть увагу, що вони повинні бути великими літерами:

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

Ви можете отримати доступ до констант перечислення за допомогою синтаксису крапки:

enum
Enum - це скорочення від "перерахування", що означає "конкретно перерахований".

Перерахування всередині класу

Ви також можете мати зчислення всередині класу:

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

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

На виході буде:

MEDIUM

Перерахування в операторі перемикання

Зчислення часто використовуються в операторах перемикання для перевірки відповідних значень:

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

Цикл через перерахування

Тип enum має метод values(), який повертає масив усіх констант enum. Цей метод корисний, коли ви хочете перебрати константи зчислення:

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

На виході буде:

LOW
MEDIUM
HIGH
Різниця між переліками та класами Зчислення, так само як і клас, може мати атрибути та методи. Єдина відмінність полягає в тому, що константи перечислення є загальнодоступними, статичними та фінальними (незмінними - не можуть бути перевизначені). Зчислення не можна використовувати для створення об'єктів, і воно не може розширювати інші класи (але може реалізовувати інтерфейси). Навіщо і коли використовувати зчислення? Використовуйте зчислення, коли у вас є значення, про які ви знаєте, що вони не будуть змінюватися, наприклад, дні місяця, дні, кольори, колода карт тощо.