自分への戒め

無名クラスとインスタンス初期化子を使うと,こんなコード書けて便利だなーとは思ってはイケナイ.

List list = new ArrayList() {
  {
    add(new HashMap() { { put("abc", "123"); }});
    add(new HashMap() { { put("ABC", "123"); }});
    add(new HashMap() { { put("ABCDEF", "123"); }});
  }
};

例えば上記例だと無名クラスが4つも出来てしまう.


この記述方法,無駄にクラスを大量生産するので,シンタックスシュガーと言うのは憚られる.テストコードのデータ用意するとかなら大目に見るけど,プロダクトコードに仕込むのは止めといた方がいいナ.