НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
517 of 1310 menu

Функция enumValues

Функция enumValues возвращает массив всех элементов указанного enum-класса. Это встроенная функция Kotlin, которая позволяет получить все значения перечисления в виде массива. Функция является обобщенной и принимает тип enum-класса в качестве параметра типа.

Синтаксис

inline fun <reified T : Enum<T>> enumValues(): Array<T>

Пример

Получим все значения простого enum-класса:

enum class Direction { NORTH, SOUTH, WEST, EAST } val directions = enumValues<Direction>() println(directions.contentToString())

Результат выполнения кода:

Array<Direction> [NORTH, SOUTH, WEST, EAST]

Пример

Использование enumValues с enum, содержащим дополнительные свойства:

enum class Color(val rgb: Int) { RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF) } val colors = enumValues<Color>() colors.forEach { println("${it.name}: ${it.rgb}") }

Результат выполнения кода:

RED: 16711680 GREEN: 65280 BLUE: 255

Пример

Перебор значений enum с помощью enumValues:

enum class WeekDay { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } val days = enumValues<WeekDay>() for (day in days) { println(day) }

Результат выполнения кода:

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY

Пример

Получение enumValues в качестве массива и работа с ним:

enum class Priority { LOW, MEDIUM, HIGH } val priorities = enumValues<Priority>() println("First priority: ${priorities[0]}") println("Last priority: ${priorities.last()}")

Результат выполнения кода:

First priority: LOW Last priority: HIGH

Смотрите также

  • функцию enumValueOf,
    которая получает enum-значение по имени
  • метод values,
    который возвращает значения enum-класса (альтернатива enumValues)
  • метод ordinal,
    который возвращает порядковый номер enum-значения
  • метод name,
    который возвращает имя enum-значения в виде строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить