【Java技巧】双括号初始化(double brace initialization)
假设想要构造一个数组列表,并将它传递到一个方法:
ArrayList<String> friends = new ArrayList<>();
friends.add("Tom");
friends.add("Carry");
invite(friends);
假如不再需要这个数组列表,则可以让它作为一个匿名列表。为一个匿名列表添加元素方法如下:
invite(new ArrayList<String>(){
{
add("Tom");
add("Carry");
}
});
说明:外层括号建立了ArrayList的一个匿名子类,内层括号则是一个对象构造块