Kotlin
文章目录
枚举类最基本的用法是实现一个类型安全的枚举。
枚举常量用逗号分隔,每个枚举常量都是一个对象。
enum class Color{
RED,BLACK,BLUE,GREEN,WHITE
}
fun main(args: Array<String>) {
println(Color.RED)
val res = Color.values()
res.forEach { println(it) }
}
enum class Color{
RED,BLACK,BLUE,GREEN,WHITE
}
结果
RED
RED
BLACK
BLUE
GREEN
WHITE
枚举初始化
每一个枚举都是枚举类的实例,它们可以被初始化:
fun main(args: Array<String>) {
Color1.RED.r
Color1.GR.g
}
enum class Color1(var r:Int,var g:Int,var b:Int){
RED(255,0,0),GR(0,255,0),BLUE(0,0,255)
}
结果
255
255
默认名称为枚举字符名,值从0开始。若需要指定值,则可以使用其构造函数:
fun main(args: Array<String>) {
println(Color3.Blue)
}
enum class Color3(va:Int){
RED(100),Green(50),Blue(0)
}
结果
Blue
自 Kotlin 1.1 起,可以使用 enumValues() 和 enumValueOf() 函数以泛型的方式访问枚举类中的常量 :
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
}
结果
RED, GREEN, BLUE