相关文章推荐
从容的金针菇  ·  Richedit使用大全 - 掘金·  1 年前    · 
另类的开水瓶  ·  Bootstrap ...·  1 年前    · 
玩篮球的沙滩裤  ·  vmd - OSCHINA - ...·  2 年前    · 
含蓄的爆米花  ·  编译器错误 C2084 | ...·  2 年前    · 

Kotlin 中的枚举类具有合成方法,允许遍历定义的枚举常量,并通过其名称获取枚举常数。

EnumClass.valueOf(value: String): EnumClass // 转换指定 name 为枚举值,若未匹配成功,会抛出IllegalArgumentException EnumClass.values(): Array<EnumClass> // 以数组的形式,返回枚举值

获取枚举相关信息:

val name: String //获取枚举名称 val ordinal: Int //获取枚举值在所有枚举数组中定义的顺序 enum class Color{ RED,BLACK,BLUE,GREEN,WHITE fun main(args: Array<String>) { var color:Color=Color.BLUE println(Color.values()) println(Color.valueOf("RED")) println(color.name) println(color.ordinal)

自 Kotlin 1.1 起,可以使用 enumValues<T>() enumValueOf<T>() 函数以泛型的方式访问枚举类中的常量 enum class RGB { RED, GREEN, BLUE } inline fun <reified T : Enum<T>> printAllValues() { print(enumValues<T>().joinToString { it.name }) fun main(args: Array<String>) { printAllValues<RGB>() // 输出 RED, GREEN, BLUE