次のように、リスナーの静的リストを保持するクラスがあります。
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
そのインターフェイスのメソッドを呼び出す場合、それらのリスナーの 1 つが呼び出しているのを防ぐ方法StaticFoo.removeAction(this)
はConcurrentModificationException
?