Hatena::Groupprogram

ひとり開発日記。 このページをアンテナに追加 RSSフィード

2010/06/06 (Sun)

連想配列の定数。

| 連想配列の定数。 - ひとり開発日記。 を含むブックマーク はてなブックマーク - 連想配列の定数。 - ひとり開発日記。

静的な連想配列を作る時は、こんな風にしてる。

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class HogeUtils {

    private HogeUtils() {}

    /** 連想配列の定数 */
    public static final Map<Long, String> NUMBERS = Collections.unmodifiableMap(new HashMap<Long, String>() {
        private static final long serialVersionUID = 1L;
        {
            put(1L, "first");
            put(2L, "second");
            put(3L, "third");
            put(4L, "fourth");
        }
    });
}

これ、

    String value = HogeUtils.NUMBERS.get(3L);

は出来ても、

    HogeUtils.NUMBERS.put(5L, "fifth");

は出来ない(UnsupportedOperationException例外発生)。

トラックバック - http://program.g.hatena.ne.jp/halflite/20100606