【问题标题】:java.lang.UnsupportedOperationException on addAll method on an ArrayListArrayList 上的 addAll 方法上的 java.lang.UnsupportedOperationException
【发布时间】:2014-07-17 21:52:58
【问题描述】:

我正在尝试将整个列表添加到另一个列表中

       for(String lob: lobs) {
            if(subLobs.contains(lob)) {
                bankCodes.addAll(additionalBankCodes);
                break;
            }
        }

以上代码抛出 java.lang.UnsupportedOperationException。不知道是什么原因。

注意:所有使用的变量名都是不为空的ArrayLists。

【问题讨论】:

  • 所有变量是什么?请分享最少的可测试代码。
  • 提供一个可运行的示例来演示您的问题。 BankCodes 可以从 Arrays.toList 创建或被包装在不可修改的包装器中
  • 你可以在这个循环之前用bankCodes = new ArrayList<BankCodes>(bankCodes);之类的东西来解决它,但是需要更多的代码才能在这里给出明确的答案。

标签: java string list exception arraylist


【解决方案1】:

看来您正在将您的列表创建为:-

  1. Arrays.asList() :这将创建一个固定长度的数组列表,您无法在其中添加或删除。

  2. Collections.unmodifiableList(...);

问候, 维克拉姆

【讨论】:

    【解决方案2】:

    根据例外情况,您可能会使用一些不可修改的列表并尝试在其中添加项目。

    UnsupportedOperationException

    抛出表示不支持请求的操作。

    示例代码:

    List<String> bankCodes = Collections.unmodifiableList(...);
    

    由于bankCodes 列表无法修改,因此导致上述异常。

    【讨论】:

      猜你喜欢
      • 2022-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      • 2020-06-10
      相关资源
      最近更新 更多