下面的循环会引发ConcurrentModificationException
。它是否应该给出编译器错误。运行时异常的原因是什么?编译时检查或java.util.ConcurrentModificationException
final List<String> list = new ArrayList<String>();
list.add("AAAAAAAAAAAAA");
for (final String it : list) {
System.out.println(it);
list.add("SSSSSSSSSS");
}
它为什么会抛出编译错误?您正在对已声明的对象实例进行有效的方法调用。确定呼叫的上下文有效性不是编译器的工作。 – Perception 2013-02-25 22:41:57