質問: Javaのenumのエレガントな使い方を探しています。 これまで、1「定数を型安全かつ便利に使えるクラス」ぐらいの認識しかなく、そこまで価値を感じていませんでした。しかし、2「ストラテジーパターンを利用したいわゆる定数固有メソッド」(effective javaに載っているようなやつ)の存在を知ってから、次第にenumに興味を持つようになりました。 そこで質問です。実際の現場で見たことのあるenumのエレガントな使い方を教えてください。デザインパターンが盛り込まれてクラス数が多い重厚なやつでもいいですし、手軽に使えるシンプルな小技でもいいです。 インターネットで色々調べましたが、1もしくは2の説明が多いと感じましたので、これら以外の事例を希望します。
回答: 1と2の延長線上だと思いますが、個人的によく使うのが下記です。 モードなどを指定するメソッド →int型ではなくEnumを良く使います。 (タイプセーフなメソッドを作れる。言い方は悪いですが、レベルが低いプログラマでも変な書き方をさせないことができます。int型だからといって全く関係のないint型の定数を代入していたりする人も居たり。。。) データベースを更新するようなメソッドでDBとカラムを指定するためにEnumとEnumMapを利用 ・update(DB名.Column名, String value) └どのDBのカラムをどの値でアップデートするかを指定 →update(EnumMap) └複数のカラムをアップデートするときはこちらを利用 アップデートするための似たようなメソッドが大量にごろごろ転がっていたのですが、これですっきりしました。