V tomto programe sa naučíte prevádzať hodnotu reťazca na enum v Kotline pomocou metódy enum valueOf ().
Príklad: Vyhľadajte výčet podľa hodnoty reťazca
enum class TextStyle ( BOLD, ITALICS, UNDERLINE, STRIKETHROUGH ) fun main(args: Array) ( val style = "Bold" val textStyle = TextStyle.valueOf(style.toUpperCase()) println(textStyle) )
Po spustení programu bude výstup:
Tučne
Vo vyššie uvedenom programe máme výčet TextStyle, ktorý predstavuje rôzne štýly, ktoré blok textu môže mať, tj tučné písmo, kurzíva, podčiarknutie a prečiarknutie.
Máme tiež reťazec s názvom štýl, ktorý obsahuje aktuálny požadovaný štýl. Nie je však v all-caps.
Potom použijeme metódu valueOf () výčtu TextStyle na odovzdanie štýlu a získanie požadovanej hodnoty enum.
Pretože valueOf () berie hodnotu reťazca citlivú na malé a veľké písmená, museli sme na prevedenie daného reťazca na veľké písmená použiť metódu toUpperCase ().
Keby sme namiesto toho použili:
TextStyle.valueOf (štýl)
program by vyhodil výnimku No enum constant EnumString.TextStyle.Bold
.
Tu je ekvivalentný kód Java: Program Java na vyhľadanie enumu podľa hodnoty reťazca.