В этой программе вы научитесь преобразовывать строковое значение в перечисление в Kotlin, используя метод enum valueOf ().
Пример: поиск перечисления по строковому значению
enum class TextStyle ( BOLD, ITALICS, UNDERLINE, STRIKETHROUGH ) fun main(args: Array) ( val style = "Bold" val textStyle = TextStyle.valueOf(style.toUpperCase()) println(textStyle) )
Когда вы запустите программу, вывод будет:
СМЕЛЫЙ
В приведенной выше программе у нас есть перечисление TextStyle, которое представляет различные стили, которые может иметь блок текста, то есть полужирный, курсив, подчеркивание, зачеркивание.
У нас также есть строка с именем style, которая содержит текущий стиль, который мы хотим. Однако это не заглавные буквы.
Затем мы используем метод valueOf () перечисления TextStyle, чтобы передать стиль и получить требуемое значение перечисления.
Поскольку valueOf () принимает строковое значение с учетом регистра, нам пришлось использовать метод toUpperCase () для преобразования данной строки в верхний регистр.
Если бы вместо этого мы использовали:
TextStyle.valueOf (стиль)
программа выдала бы исключение No enum constant EnumString.TextStyle.Bold
.
Вот эквивалентный код Java: программа Java для поиска перечисления по строковому значению.