下面的循環會引發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