Java:带有通知的 List<E> 装饰器实现

Java: List<E> decorator implementation with notification

提问人:mschayna 提问时间:10/26/2009 更新时间:10/26/2009 访问量:1284

问:

我需要实现 List 装饰器类,该类在列表发生任何更改时通知已注册的侦听器。我已经从 org.apache.commons.collections15 进行了子类化,并在通知时覆盖了 、 、 等方法。AbstractListDecoratoradd()addAll()remove(int)remove(E)

但是其中也存在一些漏洞,例如,在默认情况下遍历 List 和调用方法时,要么重写方法,要么不调用。AbstractListDecorator.iterator()Iterator.remove()remove(int)remove(E)

装饰这些东西有什么标准和安全做法吗?

谢谢。

爪哇岛 列表 装饰 通知

评论

1赞 Tom Hawtin - tackline 10/26/2009
万无一失的方法是直接自己实现。List

答:

2赞 David Rabinowitz 10/26/2009 #1

重写 iterator() 和 listIterator() 方法,并提供一个修饰的迭代器,每当调用 remove() 时都会通知侦听器。