Функция valueOfOrNull

Функция valueOfOrNull является безопасной альтернативой стандартному методу valueOf для enum классов. Она принимает строку с именем элемента enum и возвращает соответствующий элемент, либо null, если элемент с таким именем не существует.

Синтаксис

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

Пример

Создадим enum класс и попробуем получить его элементы:

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

val validDirection = enumValueOfOrNull<Direction>("NORTH")
println(validDirection)

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

kotlinDirection.NORTH

Пример

Попробуем получить несуществующий элемент:

kotlinval invalidDirection = enumValueOfOrNull<Direction>("UP")
println(invalidDirection)

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

kotlinnull

Пример

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

kotlinenum class Status {
  ACTIVE, INACTIVE, PENDING
}

val status = enumValueOfOrNull<Status>("PENDING")
println(status)

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

kotlinStatus.PENDING

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

  • метод valueOf,
    который выбрасывает исключение при отсутствии элемента
  • метод values,
    который возвращает массив всех элементов enum
  • функцию entries,
    которая возвращает список всех элементов enum
  • функцию fromOrNull,
    которая преобразует порядковый номер в элемент enum