[解決済み] Dart enumの "値 "を取得する方法
2022-04-28 05:19:20
質問
Dartでenumが利用できるようになる前に、enumをシミュレートするために面倒でメンテナンスしにくいコードを書きましたが、今はそれを簡略化したいと思っています。 私は、Javaでできるような文字列としてenumの値を取得する必要がありますが、できません。
例えば、小さなテストコードでは、私が欲しいのは「MONDAY"」なのに、それぞれのケースで「day.MONDAY」を返しています。
enum day {MONDAY, TUESDAY}
print( 'Today is $day.MONDAY');
print( 'Today is $day.MONDAY.toString()');
MONDAY」だけを取得するには、文字列をパースする必要があるということでよろしいでしょうか?
どのように解決するのですか?
悲しいかな、あなたの言うとおりtoStringメソッドが返すのは
"day.MONDAY"
であり、より有用な
"MONDAY"
.
として残りの文字列を取得することができます。
day theDay = day.MONDAY;
print(theDay.toString().substring(theDay.toString().indexOf('.') + 1));
確かに便利とは言い難い。
enum 名を文字列として取得する別の方法は、より短いですが、最初の部分にも不要な文字列が作成されるため、効率も悪くなります。
theDay.toString().split('.').last
パフォーマンスが重要でないなら、簡潔に書くとしたらこんな感じでしょうか。
すべての値を反復処理したい場合は
day.values
:
for (day theDay in day.values) {
print(theDay);
}
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Pythonで'Enum'を表現するにはどうしたらいいですか?
-
[解決済み] Goでenumを表現する慣用的な方法は何ですか?
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 式は、算術式またはスコープされていない enum 型でなければなりません。
-
[解決済み] Godotで文字列をenumに変換するには?
-
[解決済み] Typescript の enum スイッチが機能しない
-
[解決済み] Goでenumを表現する慣用的な方法は何ですか?
-
[解決済み] enumの項目名を取得する方法は?
-
[解決済み] angular2 のビューテンプレートで enum を渡す
-
[解決済み] Dart enumの "値 "を取得する方法
-
[解決済み] TypeScriptでenumのような型を作成する方法は?
-
[解決済み] 逆引きでKotlinのEnumを効率的に使う?