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>
。
谢谢!
List<String>
上操作吗? - matt bstringList
的运行时类型是否真的是java.util.ArrayList
类型。我怀疑您可能有一个来自某个不同包的Vector
、Stack
或ArrayList
,它没有覆盖remove(int)
方法。 - Jim GarrisonremoveZeroLengthStringsFrom()
中,你是否直接检查了stringList.getClass()
等内容? - QuantumMechanic