Иногда возникает необходимость преобразовать число в значение перечисления (
enum). Давайте рассмотрим как это правильно сделать.Например, есть перечисление:
public enum Season {
WINTER,
SPRING,
SUMMER,
AUTUMN
}Для числа 0 это будет WINTER, для 1 — SPRING и так далее.
Попытка прямого приведения не сработает:
int x = 1;
Season season = (Season) x; // Ошибка компиляции
Правильный способ — использовать метод
values(), который возвращает массив всех значений enum: int x = 1;
Season season = Season.values()[x]; // SPRING
Этот метод извлекает элемент массива по индексу. Однако, если индекс выходит за пределы массива, будет выброшено исключение
ArrayIndexOutOfBoundsException.📌 Важно понимать, что целочисленное значение, используемое для получения значения перечисления, должно иметь смысл в контексте приложения, чтобы код был читаемым и надёжным.
❤️ — если было полезно
📱 Java Developer | #обучение
