使用 Stream API 将谓词链接成一个
Chaining predicates into one using the Stream API
我有一个谓词列表 (List<Predicate<String>>
),我想使用 or
方法将其链接成一个。如何使用 Stream API 来实现?
您可以使用 reduce
将它们与 or
连接在一起,生成一个 Predicate<String>
。像这样:
List<Predicate<String>> predicates = getPredicates();
Predicate<String> p = predicates.stream()
.reduce(s -> false, Predicate::or);
我有一个谓词列表 (List<Predicate<String>>
),我想使用 or
方法将其链接成一个。如何使用 Stream API 来实现?
您可以使用 reduce
将它们与 or
连接在一起,生成一个 Predicate<String>
。像这样:
List<Predicate<String>> predicates = getPredicates();
Predicate<String> p = predicates.stream()
.reduce(s -> false, Predicate::or);