「Kotlin」列挙型 (enum) の値をインデックスで取得する

環境

Ubuntu 22.04.1 LTS
openjdk 11.0.16 2022-07-19
Kotlin version 1.7.20-release-201

構文
1.列挙型クラスの定義
enum class クラス名 {
2.関数の定義
fun 関数名(変数名: データの型):列挙型クラス名
3.列挙型の値を取得します
列挙型クラス名.変数名(インデックスの値)
インデックス番号 (0, 1, 2) から 列挙型クラスのインスタンスを取得します。

使用例

enum class City {
    TOKYO, OOSAKA, YOKOHAMA;

    companion object {
        fun fromCity(ordinal: Int) : City {
            return values().first { it.ordinal == ordinal }
        }
    }
}

fun main() {

val f1 = City.fromCity(0)
println("インデックス0を指定")
println(f1)
val f2 = City.fromCity(1)
println("インデックス1を指定")
println(f2)
val f3 = City.fromCity(2)
println("インデックス2を指定")
println(f3)

}

実行結果

# kotlinc test01.kt -include-runtime -d test01.jar && java -jar test01.jar
インデックス0を指定
TOKYO
インデックス1を指定
OOSAKA
インデックス2を指定
YOKOHAMA

 

Kotlin

Posted by arkgame