Я предполагаю, что прямого способа сделать это нет (поправьте меня, если я ошибаюсь). , но я хотел бы знать, существует ли подходящий обходной путь для достижения этой цели, о котором я теперь знаю.
Я искал по всему Stack Overflow, но безуспешно. Если вы думаете, что есть потоки, которые могли бы решить мои проблемы, я бы определенно хотел их увидеть.
Если вы посмотрите на peek() следующего кода, вы увидите, что число 5 проверяется на соответствие условию takeWhile(), но никогда не попадает в forEach():
Код: Выделить всё
IntStream.of(1, 3, 2, 5, 4, 6)
.peek(foo -> System.out.println("Peek: " + foo))
.takeWhile(n -> n < 5)
.forEach(bar -> System.out.println("forEach: " + bar));
Спасибо всем!
Подробнее здесь: https://stackoverflow.com/questions/554 ... or-streams