Kotlin 枚举类 相关属性、方法 枚举自定义属性 枚举自定义方法

枚举类最基本的用法是实现一个类型安全的枚举。
枚举常量用逗号分隔,每个枚举常量都是一个对象。

enum class Color {
    RED,BLACK,BLUE,GREEN,WHITE
}

相关属性、方法

枚举类具有两个属性两个方法,
属性是name和ordinal,分别获取枚举名称和枚举序号
方法一个是获取集合可以进行遍历等操作,另一个是其名称获取枚举常数

val color: Color = Color.RED
color.name
color.ordinal
Color.valueOf("RED")
Color.values().size

结果:


枚举自定义属性

每一个枚举都是枚举类的实例,它们可以被初始化,可以自定义属性
举例:

enum class Age(val rgb: Int, val number: Int) {
    Child(2, 20),
    Youth(18, 180),
    OldMan(60, 600)
}
Age.Child
Age.Child.rgb
Age.Child.number

结果:


枚举自定义方法

枚举还支持以声明自己的匿名类及相应的方法、以及覆盖基类的方法
举例:

enum class ProtocolState {
    WAITING {
        override fun signal() = "WAITING的方法"
    },
    TALKING {
        override fun signal() = "TALKING的方法"
    };
    
    abstract fun signal(): String
}
ProtocolState.TALKING.signal()

结果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章