我在 Java 中使用返回 ArrayList 的共享库;当我迭代它时,可能会抛出 ConcurrentModificationException ,我正在寻找 100% (?) 保证是安全的。我正在考虑类似下面的内容,我将不胜感激。
data_list 是从 MT 库返回的 ArrayList<>。
boolean pass = true;
ArrayList<Something> local = new ArrayList<Something>(256);
for (int spin=0; spin<10; ++spin)
{
try {
local.addAll(data_list);
}
catch (java.util.ConcurrentModificationException ce) {
pass = false;
}
finally {
if (pass) break;
pass = true;
}
}
假设变量pass
是true
,我应该如何在本地操作?