Я не уверен, тип критериев, List<Function>
или Function
. Все, что вы можете попробовать двумя способами следующим образом.
public static class Pair<F, S> {
private F first;
private S second;
public Pair(F first, S second) {
this.first = first;
this.second = second;
}
}
public static void main(String[] args) {
// criteria is a function
Function<String, Pair<Boolean, String>> criteria = (x) -> new Pair<>(true, x);
Stream.of(criteria)
.map(func -> func.apply(null))
.filter(result -> !result.first)
.map(result -> result.second)
.collect(Collectors.joining(","));
// criteria is a list
List<Function<String, Pair<Boolean, String>>> criterias = new ArrayList<>();
criterias.stream()
.map(func -> func.apply(null))
.filter(result -> !result.first)
.map(result -> result.second)
.collect(Collectors.joining(","));
}