12.枚举

2020-07-28  本文已影响0人  学吉他的袁先生

由enum修饰的类

enum class LogLevel{
    VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT
}

kotlin中枚举类可以有构造器以及成员方法

enum class LogLevel1(val id: Int){
    VERBOSE(0), DEBUG(1), INFO(2), WARN(3), ERROR(4), ASSERT(5);

    fun getTag(): String{
        return "$id, $name"
    }

    override fun toString(): String {
        return "$name, $ordinal"
    }
}

kotlin中enum类提供一些内置成员属性和方法

fun main() {
    println(LogLevel.DEBUG.ordinal)//DEBUG在LogLevel中的排序
    LogLevel.values().map(::println)//LogLevel中定义的所有值
}

可以提升代码的表现力,也有一定的性能开销

上一篇 下一篇

猜你喜欢

热点阅读