【8分でわかる】Enumクラスで文字列を使った比較・変換テクニックをわかりやすく解説!オータケ2017/1/282017/6/7Enumクラスはとても便利です。定数として扱うだけでなく自分でメソッドを追加出来たり、既に用意されている便利なメソッドを使ったりすることもできます。「switchのcase文で文字列は使えないけどEnumを使うことで実現可能なの?」などと言ったお声を耳にします。まとめenumについてまず本記事の本題に入る前にenumがどんなものかを軽くおさらいしておきましょう!次のコードを見て下さい。Fruit.Orange;}このコード自体は特に何かをするものではありませんがmainメソッドよりも前にenumというキーワードが付いたブロック(処理の塊)があります。このブロックの中で定義されているOrangeやAppleは列挙子と呼ばれています。enum自体の使い方の解説を深掘りすると本記事の目的に外れてしまうため避けておきますが、なぜenumを使うのかというと簡単に言ってしまえば読みやすさ(可読性)を向上させることができるからです。列挙子と文字列を比較したいEnumを使っていると列挙子と文字列を比較したい場合が出てくるかと思います。次のコードをみてください。}}これはエラーが発生します。Stringでは上記のコードのifの条件をtrueにするにはどうすればよいでしょうか。二つ方法がありますので見てみましょう。(if文の部分だけ掲載します。2017年6月25日switch文で文字列の分岐が可能!?通常Javaでは文字列をswitch文で分岐させようとするとエラーがでて実行することができません。Enumを使うことで擬似的に文字列分岐を行うことができます。やってやるか見てみましょう。}}独自メソッドを定義して内部で拡張for文を使ってvaluesメソッドの要素を一つずつ取得していき列挙子の値に一致するものがあればその列挙子を返すという処理になっています。2019年4月19日まとめいかがでしょうか。列挙子名と文字列を比較したい場合はvalueOfを使いましょう。列挙子に設定した値を列挙子名に変換して使いたい場合は独自のメソッドを定義することで実現することができます。忘れてしまったらこの記事を思い出して下さい!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人オータケ30歳、フリーランスプログラマ。新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。