Предположим, что у меня есть List<String>
и a List<Transfomer>
. Я хочу применить каждый трансформатор к каждой строке в списке.
Используя Java 8 lambdas, я могу это сделать:
strings.stream().map(s -> {
for(Transformer t : transformers) {
s = t.apply(s);
}
return s;
}).forEach(System.out::println);
Но я хотел бы сделать что-то более похожее, но это приводит к ошибке времени компиляции:
strings.stream().map(s -> transformers.stream().forEach(t -> s = t.apply(s))).forEach(System.out::println);
Я только начинаю играть с лямбдами, так что, возможно, у меня просто нет синтаксиса правильно.