在此程序中,您將學(xué)習(xí)使用枚舉的valueOf()方法將Kotlin中的字符串值轉(zhuǎn)換為枚舉。
enum class TextStyle { BOLD, ITALICS, UNDERLINE, STRIKETHROUGH } fun main(args: Array<String>) { val style = "Bold" val textStyle = TextStyle.valueOf(style.toUpperCase()) println(textStyle) }
運行該程序時,輸出為:
BOLD
在上面的程序中,我們有一個枚舉TextStyle,它表示文本塊可以具有的不同樣式,即粗體,斜體,下劃線和刪除線。
我們還有一個名為style的字符串,其中包含我們想要的當(dāng)前樣式。但是,并非全都使用。
然后,我們使用枚舉TextStyle的valueOf()方法來傳遞樣式并獲取所需的枚舉值。
由于valueOf()采用區(qū)分大小寫的字符串值,因此我們必須使用toUpperCase()方法將給定的字符串轉(zhuǎn)換為大寫。
相反,如果我們使用:
TextStyle.valueOf(style)
該程序?qū)⒁l(fā)異常No enum constant EnumString.TextStyle.Bold。
這是等效的Java代碼:用于通過字符串value查找枚舉的Java程序。