<分区>
给定以下函数:
public static <X> List<X> filterWithVarargPredicates(
List<X> allProducts,
Predicate<X>... predicates
) {
for (Predicate<X> predicate : predicates) {
allProducts = allProducts.stream()
.filter(predicate)
.collect(toList());
}
return allProducts;
}
有没有什么方法可以使用所有谓词而不必遍历它们并重新分配给列表?例如,如果 .stream()
有一个接受可变参数的过滤器,或者以某种方式在单个流中执行此操作,那就太好了。