【发布时间】:2009-03-02 20:16:06
【问题描述】:
我正在使用一个名为 Predicate 的接口,用于筛选集合。例如,我可以定义
public class BlackCatPredicate implements Predicate<Cat> {
public boolean evaluate( Cat c ) {
return c.isBlack();
}
}
然后使用一些实用程序findAll( Collection<T> coll, Predicate<T> pred) 方法将谓词应用于 Cats 集合,并仅获取黑色的,等等。
我的问题是:我的代码中到处都是黑猫,所以没有必要一遍又一遍地实例化 BlackCatPredicate。它应该只有一个实例。 (单例?)但是,在编写许多谓词的过程中,我不想将每个谓词都实现为单例。那么——这里的正确设计是什么?
【问题讨论】:
标签: java singleton generics predicate