Функция enumValuesOf
Функция enumValuesOf позволяет получить значение перечисления по его имени, переданному в виде строки. Если элемента с таким именем не существует, функция выбрасывает исключение IllegalArgumentException.
Синтаксис
inline fun <reified T : Enum<T>> enumValueOf(name: String): T
Пример
Создадим перечисление и получим одно из его значений по имени:
enum class Direction { NORTH, SOUTH, EAST, WEST }
val direction: Direction = enumValueOf<Direction>("NORTH")
println(direction)
Результат выполнения кода:
Direction NORTH
Пример
Попробуем получить несуществующее значение перечисления:
enum class Color { RED, GREEN, BLUE }
try {
val color: Color = enumValueOf<Color>("YELLOW")
} catch (e: IllegalArgumentException) {
println("Color not found")
}
Результат выполнения кода:
Color not found
Пример
Использование с пользовательскими перечислениями:
enum class Status { ACTIVE, INACTIVE, PENDING }
val status: Status = enumValueOf<Status>("ACTIVE")
println(status.ordinal)
Результат выполнения кода:
Int 0
Смотрите также
-
функцию
enumValues,
которая возвращает все значения перечисления -
свойство
name,
которое возвращает имя значения перечисления -
свойство
ordinal,
которое возвращает порядковый номер значения перечисления -
функцию
valueOf,
которая является альтернативным способом получения значения enum по строке