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