1
我有hols听众的静态列表一类,像这样:限制移除元素,而迭代
public class StaticFoo{
public static interface ActionInterface{
void onAction();
}
private static ArrayList<ActionInterface> sList = new ArrayList();
public static ArrayList<ActionInterface> getList(){
return sList;
}
public static void addAction(ActionInterface action){
sList.add(action);
}
public static boolean removeAction(ActionInterface action){
return sList.remove(action);
}
}
我的问题是现在:如果我遍历这个列表,并调用的方法onAction
该界面,如何防止那些听众中的一个正在呼叫StaticFoo.removeAction(this)
,这将触发ConcurrentModificationException
?
另一种方法是使用'toArray'迭代'ArrayList'的副本 –