10
リバースルックアップを使用したKotlinの有効な列挙型?
Kotlinの列挙型で「逆ルックアップ」を行うための最良の方法を見つけようとしています。私がEffective Javaから持ち帰ったことの1つは、逆ルックアップを処理するために列挙型内に静的マップを導入したことです。これを単純な列挙型でKotlinに移植すると、次のようなコードが表示されます。 enum class Type(val value: Int) { A(1), B(2), C(3); companion object { val map: MutableMap<Int, Type> = HashMap() init { for (i in Type.values()) { map[i.value] = i } } fun fromInt(type: Int?): Type? { return map[type] } } } 私の質問は、これがこれを行う最善の方法ですか、それとももっと良い方法がありますか?同様のパターンに従う複数の列挙型がある場合はどうなりますか?このコードを列挙全体でより再利用可能にする方法がKotlinにありますか?