「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