よく、Groovyが簡潔だということを言うためにGroovyだと
list = ["abc", "def", "ghi"]
と1行で欠けるのに、Javaだと
List
list = new ArrayList ();
list.add("abc");
list.add("def");
list.add("ghi");
みたいに4行にもなっちゃう、などが言われます。
しかしJava 5以降のJavaなら、
List list = Arrays.asList("abc", "def", "ghi");
と一応一行でかけるので不公平な言い方だと言えましょう。
ちなみにこのasListは可変個数引数のメソッドですね
asList(...)が知られているかどうかは別として・・・。
同様に、
map = [Hoge:3, Goge:4, Uge:5]
も、Javaでも以下のように書けます。
Map map=new HashMap(){{put("Hoge",3);put("Goge",4);put("Uge",5);}};
いや、書きませんけどね。
(HashMapそのものではなくサブクラスのインスタンスになるし)。
珍しくJava表記を擁護してみました(なってるか??)。