1、kotlin中,关键字enum来定义枚举类型。枚举类型可以包含多个枚举常量,并且每个枚举常量可以有自己的属性和方法。
2、测试代码:
enum class Color{
RED,YELLOW,BLACK,GOLD,BLUE,GREEN,WHITE
}
inline fun <reified T : Enum<T>> printAllValues() {
print(enumValues<T>().joinToString { it.name })
}
fun main(args: Array<String>) {
var color:Color=Color.GOLD
println(Color.entries.toTypedArray())
println(Color.valueOf("RED"))
println("----------------------------")
println(color.name)
println(color.ordinal)
println("----------------------------")
printAllValues<Color>()
}
3、输出:
[Lcom.xxx.myapplication.test.Color;@1a407d53
RED
----------------------------
GOLD
3
----------------------------
RED, YELLOW, BLACK, GOLD, BLUE, GREEN, WHITE
Process finished with exit code 0
4、说明:
color.name:输出值。
color.ordinal:输出索引。
enumValues<T>().joinToString { it.name }:将name,组合起来以逗号隔开输出。
[RED, YELLOW, BLACK, GOLD, BLUE, GREEN, WHITE]
println(Color.entries); 输出上面的数组。