【编程】Java初始化List的小技巧

我喜欢用ArrayList容器做参数,但总是为填充一个临时的ArrayList不够方便而苦恼。

比如说,以前,如果有一个ArrayList<String>做容器的函数 handleStrList(ArrayList<String> args) 的话,为了创建临时List喂给它,我会这样写:

handleStrListnew ArrayList<String>(){{
 add("string_1");
 add("string_2");
}})

上面的代码约等于:
class myTemp0001 extends ArrayList<String> {
   {
       add("string_1");
       add("string_2");
   }
}
handleStrListnew 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_2");
}}


class myTemp0001 extends ArrayList<String> {
{

add

("string_1");

add("string_2");
}

Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注