Java:リスト< E>通知付きのデコレータの実装
-
06-07-2019 - |
質問
リストに変更があった場合、登録済みリスナーに通知するListデコレータークラスを実装する必要があります。 add()などのメソッドをオーバーライドします。 code>、
addAll()
、 remove(int)
、 remove(E)
などに通知します。
しかし、いくつかの穴があります-例えば、デフォルトでListを繰り返し処理する場合 AbstractListDecorator.iterator()
、そして Iterator.remove()
メソッドを呼び出します。 remove(int)
または remove(E)
は呼び出しません。
そのようなものを装飾するための標準的かつ安全な慣行はありますか?
ありがとう。
解決
iterator()およびlistIterator()メソッドをオーバーライドし、remove()が呼び出されるたびにリスナーに通知する装飾されたイテレーターを提供します。
所属していません StackOverflow