Чи можна параметризувати enum?

Переліки можна параметризувати. Як показано в прикладі, ви можете визначити значення параметра, використовуючи явне речення extends.

Чи можу я використовувати назву варіанта enum (без полів) як параметр функції? Ні. Варіант enum сам по собі не є типом. Вам потрібно використовувати enum як параметр функції.

19.3 Модифікатори переліку Це помилка під час компіляції, якщо той самий модифікатор з’являється кілька разів у декларації переліку. Модифікатори оголошення enum мають таке ж значення, як і модифікатори оголошення класу (§15.2. 2). однак, модифікатори abstract, sealed і static не дозволені в декларації enum.

Примітка: Конструктор для типу enum повинен мати приватний доступ до пакета або приватний доступ. Він автоматично створює константи, визначені на початку тіла переліку. Ви не можете самостійно викликати конструктор enum.

Приклад Enum: слід пам’ятати про те, що, на відміну від класів, переліки не успадковують інші класи і не можуть бути розширені (тобто стати суперкласом). Ми також можемо додавати до нього змінні, методи та конструктори. Основна мета переліку — визначити наші власні типи даних (перераховані типи даних).

Enum – це клас. Отже, ви можете передати екземпляр класу ( EnumValues. загальна інформація. PHONE, наприклад), або ви можете передати сам клас ( EnumValues.

Порівняння типів Enum за допомогою оператора «==» Оскільки типи enum гарантують існування лише одного екземпляра констант у JVM, ми можемо безпечно використовувати оператор «==» для порівняння двох змінних, як ми зробили в наведеному вище прикладі. Крім того, оператор «==» забезпечує безпеку під час компіляції та під час виконання.