V tomto programu se naučíte převádět hodnotu řetězce na enum v Kotlin pomocí metody enum's valueOf ().
Příklad: Vyhledat výčet podle hodnoty řetězce
enum class TextStyle ( BOLD, ITALICS, UNDERLINE, STRIKETHROUGH ) fun main(args: Array) ( val style = "Bold" val textStyle = TextStyle.valueOf(style.toUpperCase()) println(textStyle) )
Když spustíte program, výstup bude:
TUČNĚ
Ve výše uvedeném programu máme výčet TextStyle, který představuje různé styly, které blok textu může mít, tj. Tučné písmo, kurzíva, podtržení, přeškrtnutí.
Máme také řetězec s názvem styl, který obsahuje aktuální styl, který chceme. Není však v all-caps.
Potom použijeme metodu valueOf () výčtu TextStyle k předání stylu a získání požadované hodnoty výčtu.
Protože valueOf () přebírá hodnotu řetězce citlivou na velká a malá písmena, museli jsme použít metodu toUpperCase () k převodu daného řetězce na velká písmena.
Pokud bychom místo toho použili:
TextStyle.valueOf (styl)
program by vyvolal výjimku No enum constant EnumString.TextStyle.Bold
.
Zde je ekvivalentní kód Java: Program Java k vyhledání výčtu podle hodnoty řetězce.