列挙型クラス


enum classを使うことで列挙型を定義できます

enum class UserType {
  MANAGER, STAFF, ADMIN
}

EnumClass.values()で定義した値を取得することができます

UserType.values().forEach { println(it) }

列挙型定数(ここではMANAGERなど)は列挙型クラスのインスタンスです。

それぞれコンストラクターで初期化することができます。

後から初期化したプロパティにアクセスすることができます

enum class UserType(val code: String) {
    MANAGER("A1"),
    STAFF("B1"),
    ADMIN("XX")
}

println(UserType.ADMIN.code) // "XX"