JAVA_IIBRARY Telegram 1514
Java Enums — Всё, что нужно знать

1. enum Status { PENDING, APPROVED, REJECTED } → Базовый Enum

• Это называется enum (сокращение от enumeration).
• Используется для задания фиксированного набора констант (например, состояния заказа, роли пользователя).

2. Status.valueOf("APPROVED") → Преобразование строки в Enum

• Бросает исключение, если строка некорректна.
• Используется при маппинге из БД, пользовательского ввода или JSON (например, парсинг статуса из запроса).

3. Status.APPROVED.name() → Получить имя как строку

• Возвращает имя enum-константы в точности как оно определено.
• Используется при логировании, сериализации и т. д. (например, отображение enum как строки в ответе).

4. Status.APPROVED.ordinal() → Получить индекс Enum

• Возвращает позицию (начиная с 0).
• Используется только если порядок важен (обычно избегается ради стабильности) — например, для ранжирования уровней.

5. for (Status s : Status.values()) → Перебор значений Enum

• Используется для итерации по всем константам.
• Удобно для UI-дропдаунов, фильтров, пакетной обработки.

6. enum Day { MON, TUE; boolean isWeekend() { return false; } } → Enum с методами

• Добавляет поведение к enum.
• Используется, если для каждой константы нужна логика (например, isHoliday() для Day).

7. enum Type { BASIC("B"), PREMIUM("P"); private String code; ... } → Enum с полями

• Используется для хранения дополнительных данных с каждой константой (например, код из БД, описание).

8. Enum с абстрактным методом

enum Mode {
ON { void act() { /* что-то делаем */ } },
OFF { void act() { /* ничего не делаем */ } };
abstract void act();
}


• Называется поведенческим enum'ом.
• Используется для логики, подобной конечному автомату (например, стратегии на константу).

9. EnumSet.of(Status.APPROVED) → EnumSet

• Высокопроизводительное множество для enum.
• Используйте вместо HashSet<Enum> (например, для фильтрации флагов или ролей).

10. EnumMap<Status, String> → EnumMap

• Эффективная key-value структура, использующая enum в качестве ключа.
• Быстрее и легче, чем HashMap<Enum, X> (например, для меток или конфигураций по статусу).

11. switch(status) → Enum в операторе switch

• Работает с enum'ами нативно.
• Используется для route-логики (например, обработки каждого статуса по-своему).

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/Java_Iibrary/1514
Create:
Last Update:

Java Enums — Всё, что нужно знать

1. enum Status { PENDING, APPROVED, REJECTED } → Базовый Enum

• Это называется enum (сокращение от enumeration).
• Используется для задания фиксированного набора констант (например, состояния заказа, роли пользователя).

2. Status.valueOf("APPROVED") → Преобразование строки в Enum

• Бросает исключение, если строка некорректна.
• Используется при маппинге из БД, пользовательского ввода или JSON (например, парсинг статуса из запроса).

3. Status.APPROVED.name() → Получить имя как строку

• Возвращает имя enum-константы в точности как оно определено.
• Используется при логировании, сериализации и т. д. (например, отображение enum как строки в ответе).

4. Status.APPROVED.ordinal() → Получить индекс Enum

• Возвращает позицию (начиная с 0).
• Используется только если порядок важен (обычно избегается ради стабильности) — например, для ранжирования уровней.

5. for (Status s : Status.values()) → Перебор значений Enum

• Используется для итерации по всем константам.
• Удобно для UI-дропдаунов, фильтров, пакетной обработки.

6. enum Day { MON, TUE; boolean isWeekend() { return false; } } → Enum с методами

• Добавляет поведение к enum.
• Используется, если для каждой константы нужна логика (например, isHoliday() для Day).

7. enum Type { BASIC("B"), PREMIUM("P"); private String code; ... } → Enum с полями

• Используется для хранения дополнительных данных с каждой константой (например, код из БД, описание).

8. Enum с абстрактным методом

enum Mode {
ON { void act() { /* что-то делаем */ } },
OFF { void act() { /* ничего не делаем */ } };
abstract void act();
}


• Называется поведенческим enum'ом.
• Используется для логики, подобной конечному автомату (например, стратегии на константу).

9. EnumSet.of(Status.APPROVED) → EnumSet

• Высокопроизводительное множество для enum.
• Используйте вместо HashSet<Enum> (например, для фильтрации флагов или ролей).

10. EnumMap<Status, String> → EnumMap

• Эффективная key-value структура, использующая enum в качестве ключа.
• Быстрее и легче, чем HashMap<Enum, X> (например, для меток или конфигураций по статусу).

11. switch(status) → Enum в операторе switch

• Работает с enum'ами нативно.
• Используется для route-логики (например, обработки каждого статуса по-своему).

👉 Java Portal

BY Java Portal | Программирование


Share with your friend now:
tgoop.com/Java_Iibrary/1514

View MORE
Open in Telegram


Telegram News

Date: |

In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." 5Telegram Channel avatar size/dimensions How to create a business channel on Telegram? (Tutorial) 2How to set up a Telegram channel? (A step-by-step tutorial)
from us


Telegram Java Portal | Программирование
FROM American