不使用受保护/受限制的集合的原因

gcs*_*lia 11 java collections constraints predicate

是否有任何理由/参数不实现基于谓词/约束限制其成员的Java集合?

鉴于经常需要这样的功能,我期待它已经在apache-commons或Guava等集合框架上实现.但是,虽然apache确实拥有它,但是Guava 弃用了它的版本,并建议不要使用类似的方法.

Collection接口契约规定的集合可以,只要它是正确记录放在其元素的所有限制,所以我无法理解为什么有人看守的集合将被劝阻.还有什么其他选择可以确保Integer集合永远不会包含负值而不隐藏整个集合?

use*_*037 3

这只是一个偏好问题 - 看看关于之前检查和之后检查的线程- 我认为这就是它的归结。还只检查add()i 是否足够好,仅适用于不可变对象。