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

标签 java list decorator notifications

我需要实现列表装饰器类,该类在列表发生任何更改时通知注册的监听器。我从 org.apache.commons.collections15 继承了 AbstractListDecorator并覆盖诸如 add()addAll()remove(int)remove(E) 等方法等等我的通知。

但是存在一些漏洞 - 例如,默认情况下迭代 List 时 AbstractListDecorator.iterator() 并调用 Iterator.remove() 方法,或者重写方法remove(int)remove(E) 不会调用。

装饰此类元素有任何标准和安全做法吗?

谢谢。

最佳答案

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

关于Java:带通知的 List<E> 装饰器实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1622933/

相关文章:

java - 框架不改变背景颜色

java - 无法关闭前一帧以查看新帧 java

java - Kotlin 中的 Class<?> clazz

python - 在Python中使用装饰器注入(inject)函数

java - Android - Blogger(最佳身份验证方法 - ClientLogin 等)

c# - 用于获取 2 个不同枚举的排列的最佳集合类型是什么

python - 从一个大列表内的多个字典中提取(间隔)值,并将这些值与另一个大列表内的相应列表组合

python - 自动求和,无需重新输入由空格分隔的数字/整数的解析数字列表

Python:装饰器:以下代码如何工作?

python - Airflow 在发生故障时使所有 dags 执行特定操作