Java / 基礎 / クラス / Double Brace Initialization

カタカナで書くと「ダブルブレースイニシャライゼーション」というやつか。

インスタンスの生成と初期化を同時にできるという便利な文法のようだ。

このように書く。コンストラクタの後ろにおもむろに2重の括弧を書いてその中に new される対象のインスタンスに対するメソッドをずらずら書くというもの。

List<String> hogeList = new ArrayList<String>(){{
    add("hoge");
    add("piyo");
    add("fuga");
}};

しかし、問題点がいくつかあるっぽく、調べると、「使うな」ということのようだ。

理由としては

なので、知っておく程度の文法