代码之家  ›  专栏  ›  技术社区  ›  HelloCW

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

  •  2
  • HelloCW  · 技术社区  · 6 年前

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

    现在我希望得到颜色。绿色当我知道枚举成员的序数值时,我该怎么做?

    代码

    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
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Milind Mevada Amir Hossein Mirzaei    6 年前

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

    例子

    val bOrdinal=3
    
    val yourColor : Color = Color.values()[bOrdinal]
    
        2
  •  1
  •   Abhi    6 年前

    你可以用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}")
    }
    

    prints“颜色名称为黄色,序号为1”