Kotlin_枚举

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

发布了151 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43141726/article/details/104558797