在此程序中,您将学习使用枚举的valueOf()方法将Kotlin中的字符串值转换为枚举。
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的字符串,其中包含我们想要的当前样式。但是,并非全都使用。
然后,我们使用枚举TextStyle的valueOf()方法来传递样式并获取所需的枚举值。
由于valueOf()采用区分大小写的字符串值,因此我们必须使用toUpperCase()方法将给定的字符串转换为大写。
相反,如果我们使用:
TextStyle.valueOf(style)
该程序将引发异常No enum constant EnumString.TextStyle.Bold。
这是等效的Java代码:用于通过字符串value查找枚举的Java程序。