技術學習記錄

[Android]Kotlin學習筆記#6-列舉

前言

相信很多人應該都有在Java上寫過狀態處理的程式吧?!

一般都會宣告一個列舉來定義程式執行的生命週期狀態,像這樣:

public enum TestStatus {
    STATUS_1,
    STATUS_2,
    STATUS_3,
    STATUS_4
}

在Kotlin上面也有列舉,而且還是一種類別。宣告方式如下所示:

enum class TestStatus {
    STATUS_1,
    STATUS_2,
    STATUS_3,
    STATUS_4
}

使用enum class宣告該物件為一個列舉類別。

類別中的每一個列舉常量都是一個物件,物件跟物件之間以 , 分隔。

此外,列舉還可以指定數值,如下:

enum class TestStatus(var value: Int) {
    STATUS_1(1),
    STATUS_2(2),
    STATUS_3(3),
    STATUS_4(4)
}

使用方式

使用方式如下:

enum class TestStatus {
    STATUS_1,
    STATUS_2,
    STATUS_3,
    STATUS_4
}

var enumItem = TestStatus.STATUS_1

// 取得列舉常量的名稱
var enumItemName = TestStatus.STATUS_1.name

// 取得列舉常量的索引
var enumItemIndex = TestStatus.STATUS_1.ordinal

此外,列舉類別也可以作為類別的屬性,用法如下:

class TestClass(
    val param1: String,
    val param2: TestStatus,
    val param3: Boolean
)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *