如何通过 kotlin 中的序数值获得枚举成员?

Hel*_*oCW 8 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
Run Code Online (Sandbox Code Playgroud)

Mil*_*ada 7

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

例子

val bOrdinal=3

val yourColor : Color = Color.values()[bOrdinal]
Run Code Online (Sandbox Code Playgroud)


Wes*_*y92 5

安全第一:

// Default to null
val color1: Color? = Color.values().getOrNull(bOrdinal)

// Default to a value
val color2: Color = Color.values().getOrElse(bOrdinal) { Color.RED }
Run Code Online (Sandbox Code Playgroud)