【发布时间】:2020-02-02 14:16:03
【问题描述】:
如何在 Java 8 中将“过滤器列表”传递给流,而不是如下例所示单独应用它们?
https://howtodoinjava.com/java8/stream-multiple-filters-example/
目的是动态创建过滤器列表,一种方法是遍历过滤器列表并将其应用于要过滤的列表。
还有什么想法吗?
更新:
感谢谓词的评论:
final Predicate<?> predicate = new Predicate<?>() {
@Override
public boolean test(Object object) {
return false; //TODO: Implement first predicate
}
} ;
predicate.and(...); //Implement another predicate.
问候
~M
【问题讨论】:
-
您可以使用例如
Predicate::and方法链接Predicates。 -
不错,我会试试的,谢谢你的评论。
-
如前所述,可以制作一个由
.and谓词链组成的谓词。但是,.filter链具有相同的效果,因为它们是在最终流操作发生(收集/减少/forEach)之前收集的。 -
没错,但是我想为管理员提供一个易于理解的解决方案,说明如何添加更多过滤器(谓词)。
标签: java list arraylist lambda java-8