[解決済み] Kotlinで非整数のenumを定義するには?
2023-06-05 04:26:02
質問
例えば、値が序数でない列挙型を定義したいのですが、どうすればよいですか?
enum class States(value: Int) {
STATE_A(4),
STATE_B(5),
STATE_C(7),
STATE_D(12)
}
各項目の値を取得するにはどうしたらよいでしょうか?例えば ステート.STATE_C を返さなければなりません。 7 .
どのように解決するのですか?
を定義する必要があります。
value
をプロパティとして定義する必要があります (
val
) として、コンストラクタのパラメータとしてではなく、プロパティとして使用します。その後、アクセス可能になります。
enum class States(val value: Int) {
STATE_A(1),
STATE_B(2),
STATE_C(3),
STATE_D(4)
}
...
println(States.STATE_C.value) // prints 3
また
ordinal
を使うことも考えてみてください。
enum class States {
STATE_A,
STATE_B,
STATE_C,
STATE_D
}
...
println(States.STATE_C.ordinal + 1) // prints 3
このアプローチで行く場合は、注意が必要です。
States
の順序を変更すると、コードが壊れる可能性があります。
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Javaでenumを繰り返し処理するためのforループ
-
[解決済み] Enum 値から文字列名
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
-
[解決済み】enum ordinalからenum typeに変換する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Kotlin データクラスのオーバーライドゲッター
-
[解決済み] Kotlinのゲッターとセッター
-
[解決済み] Kotlin: withContext() vs Async-await
-
[解決済み] KotlinのIntArrayとArray<Int>の比較
-
[解決済み] KotlinのIterableとSequenceは全く同じに見える。なぜ2つの型が必要なのでしょうか?
-
[解決済み] kotlin.jvm.KotlinReflectionNotSupportedError.KotlinReflectionNotSupportedError.KotlinReflectionNotSupportedError: ランタイムにKotlin Reflectionの実装が見つかりませんでした。kotlin-reflect.jar があることを確認してください。
-
[解決済み] Kotlin - ボイド vs. ユニット vs. ナッシング
-
[解決済み] アダプターまたはViewHolderでのKotlin合成
-
[解決済み] 実験的な "Kotlinコルーチン "は実運用に使えるか?
-
[解決済み] コルーチン:runBlockingとcoroutineScopeの比較