我有这个Predicate,它Task根据日期过滤我的对象:
Predicate<Task> startDateFiltering = new Predicate<Task>() {
@Override
public boolean apply(Task input) {
return input.getStartDate() != null
&& input.getStartDate().after(date);
}
};
Run Code Online (Sandbox Code Playgroud)
只要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);
}
};
Run Code Online (Sandbox Code Playgroud)
为了在Task.startDateFiltering每次需要时访问它.但是如何将date论证传递给它呢?
Sot*_*lis 18
我创建一个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);
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4531 次 |
| 最近记录: |