我有非常简单的代码:
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()的情况下,文档说:
返回的列表由此列表支持,因此返回列表中的非结构更改将反映在此列表中,反之亦然.
你能解释一下捕获的位置吗?
我正在编写Java 6应用程序,我必须检查文件是否可读.但是,在Windows上canRead()总是返回true.所以我看到可能,唯一的解决方案可能是基于WINAPI并用JNA/JNI编写的一些本机解决方案.
但是,还有另一个问题,因为在WINAPI中很难找到一个简单的函数,它会返回有关文件访问的信息.我发现GetNamedSecurityInfo或者GetSecurityInfo我不是一个先进的WINAPI程序员,他们对我来说对JNA/JNI来说太复杂了.任何想法如何处理这个问题?