質問

リストに変更があった場合、登録済みリスナーに通知するListデコレータークラスを実装する必要があります。 AbstractListDecorator をサブクラス化しました。 .jar!/index.html?org / apache / commons / collections15 / CollectionUtils.html "rel =" nofollow noreferrer "> org.apache.commons.collections15 および add() addAll() remove(int) remove(E)などに通知します。

しかし、いくつかの穴があります-例えば、デフォルトでListを繰り返し処理する場合 AbstractListDecorator.iterator()、そして Iterator.remove()メソッドを呼び出します。 remove(int)または remove(E)は呼び出しません。

そのようなものを装飾するための標準的かつ安全な慣行はありますか?

ありがとう。

役に立ちましたか?

解決

iterator()およびlistIterator()メソッドをオーバーライドし、remove()が呼び出されるたびにリスナーに通知する装飾されたイテレーターを提供します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top