Список 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 по имени из этой
строки и выведите ее.