我有以下代码:
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传递给子类,但它仍然不起作用。
有人可以对此有所了解吗?
非常感谢
答案 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*")));