Функция enumValueOf

Функция enumValueOf позволяет получить элемент перечисления (enum) по его имени. В первый параметр передается строковое имя элемента enum, а функция возвращает соответствующий элемент. Если элемент с указанным именем не существует, выбрасывается исключение IllegalArgumentException.

Синтаксис

kotlininline fun <reified T : Enum<T>> enumValueOf(name: String): T

Пример

Получим элемент enum по имени "RED":

kotlinenum class Color { RED, GREEN, BLUE }

val color: Color = enumValueOf<Color>("RED")
println(color)

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

kotlinColor RED

Пример

Попытка получить несуществующий элемент enum:

kotlinenum class Color { RED, GREEN, BLUE }

try {
  val color: Color = enumValueOf<Color>("YELLOW")
} catch (e: IllegalArgumentException) {
  println("Color not found")
}

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

kotlinColor not found

Пример

Использование enumValueOf с разными типами enum:

kotlinenum class Direction { NORTH, SOUTH, EAST, WEST }

val direction: Direction = enumValueOf<Direction>("EAST")
println(direction)

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

kotlinDirection EAST

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

  • метод values,
    который возвращает массив всех элементов enum
  • метод name,
    который возвращает имя элемента enum
  • метод ordinal,
    который возвращает порядковый номер элемента enum
  • функцию enumValues,
    которая возвращает массив всех элементов enum