Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpEsEnt 77 of 123 menu
◀ ▶

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

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

enum class Status { DRAFT, ACTIVE, CLOSED } fun main() { for (status in Status.entries) { println(status.name) } }

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

enum class Status { DRAFT, ACTIVE, CLOSED } fun main() { val parsed = enumValueOf<Status>("ACTIVE") println(parsed) }

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

enum class Axis { X, Y, Z } fun main() { 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить