Java:向List <string> </string>添加新元素

时间:2013-03-11 13:40:23

标签: java

我有以下代码:

public void parseAttribs(String attribs){

   //attribs is a comma separated list
   //we are making a List from attribs by splitting the string at the commas

   List<String> attributes = Arrays.asList(attribs.split("\\s*,\\s*"));

   //when I try to add an element to the attributes List if fails
   attributes.add("an element");

我发现了这个Unable to add a String to an ArrayList: "misplaced construct(s)"并尝试创建一个子类,但是我也必须将List传递给子类,但它仍然不起作用。

有人可以对此有所了解吗?

非常感谢

2 个答案:

答案 0 :(得分:9)

Arrays.asList会返回固定大小 List。你可以用

new ArrayList<String>(Arrays.asList(...)))

这会为您提供List,其中可以添加

答案 1 :(得分:6)

此代码无效,因为Arrays.asList()返回的列表是不可变列表。

您可以从ArrayList构造函数构造,使其工作。

List<String> attributes = new ArrayList<String>(Arrays.asList(attribs.split("\\s*,\\s*")));