我已阅读有关ConcurrentModificationException的内容。有关获取此异常的大量信息,以防迭代收集并尝试对其进行修改。
对我来说很有趣我可以在不使用迭代器的情况下获得此异常吗?
答案 0 :(得分:0)
是
throw new ConcurrentModificationException();
答案 1 :(得分:0)
除了迭代器之外,标准列表实现中没有太多地方抛出此异常。评论中已经提到了writeObject
方法。另一个是在尝试修改从subList
获得的ArrayList
时,ArrayList
在此期间已被修改:
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
// Obtain the subList
List<String> subList = list.subList(1,2);
// Modify the backing list
list.add("X");
// Try to modify the subList: Causes ConcurrentModificationException
subList.add("Y");