Функция valueOfOrNull
Функция valueOfOrNull является безопасной альтернативой стандартному методу valueOf для enum классов. Она принимает строку с именем элемента enum и возвращает соответствующий элемент, либо null, если элемент с таким именем не существует.
Синтаксис
inline fun <reified T : Enum<T>> enumValueOfOrNull(name: String): T?
Пример
Создадим enum класс и попробуем получить его элементы:
enum class Direction {
NORTH, SOUTH, EAST, WEST
}
val validDirection = enumValueOfOrNull<Direction>("NORTH")
println(validDirection)
Результат выполнения кода:
Direction.NORTH
Пример
Попробуем получить несуществующий элемент:
val invalidDirection = enumValueOfOrNull<Direction>("UP")
println(invalidDirection)
Результат выполнения кода:
null
Пример
Использование с пользовательским enum:
enum class Status {
ACTIVE, INACTIVE, PENDING
}
val status = enumValueOfOrNull<Status>("PENDING")
println(status)
Результат выполнения кода:
Status.PENDING
Смотрите также
-
метод
valueOf,
который выбрасывает исключение при отсутствии элемента -
метод
values,
который возвращает массив всех элементов enum -
функцию
entries,
которая возвращает список всех элементов enum -
функцию
fromOrNull,
которая преобразует порядковый номер в элемент enum