Java:向List <String>添加新元素

L4z*_*l0w 0 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");
Run Code Online (Sandbox Code Playgroud)

我发现这个无法将一个String添加到一个ArrayList:"misplaced construct(s)"并试图创建一个子类,但我不得不将List传递给子类,但它仍然无效.

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

非常感谢

Rei*_*eus 9

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

new ArrayList<String>(Arrays.asList(...)))
Run Code Online (Sandbox Code Playgroud)

这会给你一个List,其中的元素可以被添加.


Ran*_*Lin 6

此代码不起作用,因为返回的列表Arrays.asList()是不可变列表.

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

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