Tipsはじめにenumでインタフェースが実装できることが分かったので、その応用例の一つとして、Javaでenumを使ってプロパティファイルのキーを定義するサンプルを書いてみました。文字列のキーを渡してプロパティの値を取得!ですが、プロパティファイルは、決められた値の設定を記述しておくといったような用途が多いと思いますので、キーは最初から分かっているはずですよね。上記例のような方法だと、文字列にてキーを引き当てていますので、タイポや、キー変更による実行時に値が取得できないといったようなエラーが懸念されます。定数化してプロパティの値を取得!わぉ、レガシー!・・・これでもまぁ、キーの文字列を直接指定していた場合よりはましですが。いい方法はないかJavaだったら定数は全てenumを使えばいい。enumを使えばいいんです。enumの要素(の文字列)を使ってプロパティの値を取得!問題点ただenumを使った場合、一つだけ問題が残ります。それはプロパティファイルが複数に増えてきた場合のお話です。プロパティファイルの読み込みは実際には例外処理などを行う必要があり、煩雑となるので、だいたいユーティリティクラスを作って読み込み処理を実装すると思いますが、その場合のキーをPropKeyのようにしてしまうと、複数のプロパティファイルへの対応できなくなってしまいます。メソッドを定義して、うまいことキーやファイルを特定するなどの痛々しい努力をするなんてシナリオも考えられます。...}読み込みユーティリティ(PropertyReader)の読み込みメソッドの引数はenumのインタフェース型としています。*.properties)とプロパティ読み込みのためのキー指定時は明示的に、ユーティリティ内部での実際のプロパティファイル読み込み時は汎用的にキーを扱えるようにしています。"fuga-value-2"ソース実際に動くサンプルを載せておきます。補足おまけで、enumで定義したキーがプロパティに存在しているかのテストも追加してあります。一回読み込んだプロパティ(Properties)はキャッシュするようにしています。Life*1:もしくはxml形式にすることも可能。Tumblr広告を非表示にする関連記事2012-12-10メタプログラミングGroovy入門Groovy!(挨拶)最近Groovyであまり遊べていないfumokmmです。Javaのenumって便利ですよね。»プロフィールid:fumokmm新しいNPNLです。(2)はてなブログをはじめよう!fumokmmさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。