staticなリスト変数の初期化方法(staticテーブルの作成)|Java

Javastatic finalなどで定義したリストの中身を定義部分で設定する方法です。
リストオブジェクトがstaticなだけなので、中身の操作はメソッド内でも可能ですが(下記「メソッドで設定」を参照)、あらかじめシステムで決まっている定義値のテーブルなどを記述したい場合に。

スタティックイニシャライザを使った設定

static { }で囲まれた中に初期値を設定するコードを記述します。
スタティックイニシャライザといいます。

サンプル

class MyClass {
    private static final SimpleArrayMap<String, Integer> ARRAY_MAPS = new SimpleArrayMap<>();
    static {
        ARRAY_MAPS.put("key-01", 0);
        ARRAY_MAPS.put("key-02", 1);
    }
}

メソッドで設定

以下のような書き方も可能ですが、これだと変数をstaticにする必要はないですね。

class MyClass {
    private static final SimpleArrayMap<String, Integer> ARRAY_MAPS = new SimpleArrayMap<>();

    private void sampleMethod() {
        ARRAY_MAPS.put("key-03", 2);
    }
}
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です