美文网首页
Kotlin 枚举类

Kotlin 枚举类

作者: zhongjh | 来源:发表于2021-11-03 18:05 被阅读0次

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

    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()
    

    结果:


    相关文章

      网友评论

          本文标题:Kotlin 枚举类

          本文链接:https://www.haomeiwen.com/subject/dqcczltx.html