如何按Kotlin中的序数值获取枚举成员?

时间:2018-11-16 06:17:04

标签: android kotlin

我知道我可以使用代码Color.BLUE.ordinal获得枚举成员的序数值。

现在,当我知道枚举成员的序数值时,我希望获得Color.Green,该怎么办?

代码

enum class Color{
    RED,BLACK,BLUE,GREEN,WHITE
}



var aOrdinal=Color.BLUE.ordinal //it's 2

val bOrdinal=3  //How can I get Color.Green

3 个答案:

答案 0 :(得分:3)

?安全第一:

offsetLeft

答案 1 :(得分:2)

只需使用values()函数,该函数将返回枚举值的数组并使用序数作为索引

示例

val bOrdinal=3

val yourColor : Color = Color.values()[bOrdinal]

答案 2 :(得分:1)

您可以使用Kotlin enumValues<>()来获取

示例

    enum class Color{
    GREEN,YELLOW
}

fun main(str:Array<String>){
    val c  = enumValues<Color>()[1]
   print("Color name is ${c.name} and ordinal is ${c.ordinal}")
}

打印“颜色名称为黄色,序数为1”