Kotlin 枚举类

172 阅读1分钟

Kotlin 枚举类

1.枚举类的最基本的用法是实现类型安全的枚举

2.每个枚举常量都是一个对象。枚举常量用逗号分隔

3.枚举常量也可以声明自己的匿名类

4.提供了values()valueOf()方法来检测指定的名称与枚举类中定义的任何枚举常量是否匹配

//声明
enum class 类名{
      ...
}

enum class  AA {
    A,B,C
}

enum class BB(val aa: String) {
    CC("NAme_AA")
}

fun main() {
    val a = AA.A
    val b = BB.CC.aa
//    print(a)
    print(b)
}

// 匿名类
enum class ProtocolState {
    WAITING {
        override fun signal() = TALKING
    },

    TALKING {
        override fun signal() = WAITING
    };

    abstract fun signal(): ProtocolState
}

enum class IntArithmetics : BinaryOperator<Int>, IntBinaryOperator {
    PLUS {
        override fun apply(t: Int, u: Int): Int = t + u
    },
    TIMES {
        override fun apply(t: Int, u: Int): Int = t * u
    };

    override fun applyAsInt(t: Int, u: Int) = apply(t, u)
}

扩展

fun AA.show() {
    print("AA_Show")
}