タグ

javaとenumに関するtezukamのブックマーク (4)

  • Enum tricks: hierarchical data structure - DZone

    tezukam
    tezukam 2010/10/22
    Enumでツリー階層を実装する。
  • Enum Propertyパターン - taediumの日記

    メッセージ管理などでプロパティファイルを使っていて、Javaのコード上でプロパティファイルのkeyをタイプミスしてしまったりkeyがどこで使われているか検索するのが面倒くさかったりしませんか?そんなときはEnum Propertyパターンが使えます。 プロパティファイルの場合、多言語表示のためにmessage.propertiesやmessage_ja.propertiesなどとロケールごとにファイルを作成するのが一般的だと思いますが、「Enum Propertyパターン」では、ファイルではなくEnumを作成します。たとえばこのような感じです。 public enum Message implements MessageResource { M001("Hello World"), M002("Hello {0}"); ... } public enum Message_ja implem

    Enum Propertyパターン - taediumの日記
    tezukam
    tezukam 2009/12/20
    EnumをResourceBundle代わりに使う。
  • enumをもうちょっと使う - しげるメモ

    enum basics - しげるメモで基的なことをおさらいしたので、私がよく使ってるenum関係のパターンをいくつか。 ステートパターンをenumで enumを使うようになってまず一番変わったのが、 private static final int SOME_STATE = 1; みたいな典型的なアンチパターンを書かなくなりました。これはステートパターンを非常に書きやすくなったためだと思います。 よくこんなコード書いてます。当はもうちょっとロック処理とかを書かないとだめですが、ステート部分は大抵こんな感じです。 public class Lifecycle { // 初期状態はINITIALに固定 private State state = State.INITIAL; // 外側に公開する状態遷移メソッド public void start() { state = state.st

    enumをもうちょっと使う - しげるメモ
    tezukam
    tezukam 2009/01/20
    switch文をVisitorパターンで置き換えるってのは面白いな。使うかどうかは別にして。
  • Enum定数のアノテーション - Yamkazu's Blog

    Enumの定数に書かれたアノテーションを取得しようとして、少しハマったのでメモ。 適当なアノテーション。 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface RGB { } ここでBlueに設定されたアノーテーションを取得したい。 public enum Color { Red, @RGB Blue, Yellow } こうすれば良かった。 public class EnumTest { @Test public void testEnumAnnotation() { Color color = Color.Blue; Field[] fields = color.getClass().getFields(); Annotation[] annotations = fields[c

    Enum定数のアノテーション - Yamkazu's Blog
    tezukam
    tezukam 2009/01/17
    Enum定数のアノテーションは、Fieldから取得する。
  • 1