新的ArrayList <string>()有什么问题.add(&#34; something&#34;)

时间:2015-11-29 20:25:37

标签: java arraylist

通过以下方式发起ArrayList的问题是什么:

new ArrayList<String>().add("something");

为什么我们应该使用以下内容来发起ArrayList

new ArrayList<String>() {{ 
    add("something");
}};

3 个答案:

答案 0 :(得分:6)

应该不使用double brace initialization!您可以,但这并不意味着

回到你的问题

new ArrayList<String>().add("something"); 

这个问题是这实际上会返回booleanadd方法的结果。您刚刚实例化的列表将丢失并将被垃圾收集。

您应该做的是保留对列表的引用并使用它来添加值。

List<String> list = new ArrayList<>();
list.add("something");

// or simpler
list = Arrays.asList("something"); // warning fixed-size list

答案 1 :(得分:0)

您使用的语法错误。如果你按照这个答案,你可以使它工作:

Initialization of an ArrayList in one line

ArrayList<String> list = new ArrayList<String>();
list.add("something");

答案 2 :(得分:0)

new Array<String>().add("Something");

不是唯一的方法。你可以使用类似的东西:

Arrays.asList("Something","Something Else");

但这会返回List<String>