我有非常简单的代码:
List<String> list = new ArrayList<String>();
String a = "a";
String b = "b";
String c = "c";
String d = "d";
list.add(a);
list.add(b);
list.add(c);
List<String> backedList = list.subList(0, 2);
list.add(0, d);
System.out.println("2b: " + backedList);
Run Code Online (Sandbox Code Playgroud)
我通过list.add(0,d)得到ConcurrentModificationException异常.所以一般来说,这是因为sublist().我很困惑,因为在sublist()的情况下,文档说:
返回的列表由此列表支持,因此返回列表中的非结构更改将反映在此列表中,反之亦然.
你能解释一下捕获的位置吗?