kotlinのenumをIntに

enumをintentで使いたくて、Intに相互変換できないか調べた。結果は、以下のようにしたらできた(これが正解かはわからない)。

    enum class ListHeight {
        SMALL,
        MID,
        LARGE
    }

    var listHeight1 = ListHeight.LARGE
    var i = listHeight1.ordinal                 //i==2
    var listHeight2 = ListHeight.values()[i]     //listHeight2 == ListHeight.LARGE

ordinalで順番(?)で、values()でenum値の配列が取れる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です