gpt4 book ai didi

java - 对 ArrayList 进行操作时,AbstractList.remove() 中出现 UnsupportedOperationException

转载 作者:IT老高 更新时间:2023-10-28 20:41:50 33 4
gpt4 key购买 nike

ArrayList的列表迭代器确实实现了 remove 方法,但是,我抛出了以下异常:

UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:144)

通过此代码:

protected void removeZeroLengthStringsFrom(List<String> stringList)
{
ListIterator<String> iter = stringList.listIterator();
String s;
while (iter.hasNext())
{
s = iter.next();
if (s.length() == 0)
{
iter.remove();
}
}
}

我在这里缺少什么?我已验证 List<String>我传入的确实是ArrayList<String> .

谢谢!

最佳答案

我认为您可能正在使用 Arrays 实用程序来获取您传递给该方法的 List。该对象确实是 ArrayList 类型,但它是 java.util.Arrays.ArrayList,而不是 java.util.ArrayList

java.util.Arrays.ArrayList 版本是不可变的,它的 remove() 方法没有被覆盖。因此,它遵循 remove()AbstractList 实现,它会抛出 UnsupportedOperationException

关于java - 对 ArrayList 进行操作时,AbstractList.remove() 中出现 UnsupportedOperationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6260113/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com