【问题标题】:Java: Adding new element to List<String>Java:向 List<String> 添加新元素
【发布时间】:2013-03-11 13:40:23
【问题描述】:

我有以下代码:

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 传递给子类,但它仍然不起作用。

有人能解释一下吗?

非常感谢

【问题讨论】:

  • 感谢 Reimeus 和 Rangi Lin。它适用于您的建议。

标签: java


【解决方案1】:

Arrays.asList 返回一个固定大小List。你可以使用

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

这将为您提供一个List,其中可以添加元素

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多