bgu*_*uiz 43 java iterator list arraylist
ArrayList的列表迭代器确实实现了remove方法,但是,我得到以下抛出的异常:
UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:144)
Run Code Online (Sandbox Code Playgroud)
通过此代码:
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?我已经证实List<String>我传入的确是ArrayList<String>.
谢谢!
Mik*_*e M 128
我想您可能正在使用该Arrays实用程序来获取List您传递给该方法的内容.对象确实是类型ArrayList,但java.util.Arrays.ArrayList不是java.util.ArrayList.
该java.util.Arrays.ArrayList版本是不可改变的,其remove()方法不覆盖.因此,它推迟AbstractList执行remove(),抛出一个UnsupportedOperationException.
| 归档时间: |
|
| 查看次数: |
24419 次 |
| 最近记录: |