我喜欢用ArrayList容器做参数,但总是为填充一个临时的ArrayList不够方便而苦恼。
比如说,以前,如果有一个ArrayList<String>做容器的函数 handleStrList(ArrayList<String> args) 的话,为了创建临时List喂给它,我会这样写:
handleStrList( new ArrayList<String>(){{
add("string_1");
add("string_2");
}})
上面的代码约等于:
class myTemp0001 extends ArrayList<String> {
{
add("string_1");
add("string_2");
}
}
handleStrList( new myTemp0001() )
写那么多个add很讨厌,也不优雅,但优雅的我不会- –
直到后来,我学到这招:
handleStrList(new ArrayList<String>( Arrays.asList("string_1","string_2") ) )
如果handleStrList函数不会增删改动它的参数的话,上面的 new ArrayList<String> 部分也可以省略:
handleStrList( Arrays.asList("string_1","string_2") )
优雅多了哈^_^
原理我懂,你一查你也知道,就不在这里卖弄了
这种小技巧对编程基本上没有什么帮助,不过偶尔想到了,觉得挺有趣的,就说一下吧。
如
果handleStrList函数不会增删改动它的参数的话,上面的
new ArrayList<String>(){{
handleStrList( new ArrayList<String>( Arrays.asList("string_1","string_2") ) )
add("string_1")
;
add
("string_1");
代码高亮了!
就是用你说的那个网站弄的!