Программисты больше не нужны!
Нужны ИИ инженеры! Хотите научиться? Вступайте в канал!
⊗ktOpEsEnt 77 of 123 menu
◀ ▶

Список entries и разбор имени в Kotlin

Свойство entries у любого enum class возвращает список всех констант в порядке объявления. По нему удобно строить меню, проверять допустимые значения и обходить enum в цикле:

enum class Status { DRAFT, ACTIVE, CLOSED }

Запишем значение этого типа:

for (status in Status.entries) { println(status.name) }

У каждой константы есть свойство name - строка с именем в коде. Обратное преобразование выполняет функция enumValueOf: при неизвестном имени она бросает исключение:

enum class Status { DRAFT, ACTIVE, CLOSED }

Запишем значение этого типа:

val parsed = enumValueOf<Status>("ACTIVE") println(parsed)

Старый метод values() возвращает массив констант. В новых проектах предпочитают entries: это неизменяемый список без лишнего копирования в List. Содержимое у values() и entries совпадает:

enum class Axis { X, Y, Z }

Запишем значение этого типа:

println(Axis.entries.size) println(Axis.values().size)

Объявите enum class Lang с константами RU, EN и DE. Выведите все значения name в порядке entries в одной строке, между словами один пробел.

Объявите enum class Tier с константами FREE, PRO и TEAM. Дана строка:

val raw = "PRO"

Получите константу Tier по имени из этой строки и выведите ее.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить