我有this Predicate
,它Task
根据日期过滤我的对象:
Predicate<Task> startDateFiltering = new Predicate<Task>() {
@Override
public boolean apply(Task input) {
return input.getStartDate() != null
&& input.getStartDate().after(date);
}
};
只要date
在上下文中可以访问变量,就可以使用它。但是,我想使其可重用并将其嵌入到Task
类本身中,执行以下操作:
public static final Predicate<Task> startDateFiltering = new Predicate<Task>() {
@Override
public boolean apply(Task input) {
return input.getStartDate() != null
&& input.getStartDate().after(date);
}
};
为了Task.startDateFiltering
每次需要时都可以访问它。但是如何将date
论点传递给它呢?
我会创建一个static
工厂方法(或每次只是直接创建一个新实例)
public static Predicate<Task> startDateFilteringWithDate(final Date date) {
return new Predicate<Task>() {
@Override
public boolean apply(Task input) {
return input.getStartDate() != null
&& input.getStartDate().after(date);
}
};
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句