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

結果:


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