(*)forEach
과의 차이점은 무엇입니까? 산출물은 무엇이며 그 이유는 무엇입니까? 나는 알지 못한다. forEach
아무것도 인쇄되지 않을 것이다. 그러나 왜 엿봄이 필요한가? 내가 peek
에 대한 알다시피Java 스트림, forEach의 유무에 관계없이
당신은, 그러나 여기에 할 것 같다하지 않습니다 ... 아무것도 할 System.out.println
에 대한 결과 스트림과 뭔가를해야하고, 그것은 여전히 .... 실행
public class NaturalNumbers
implements Supplier<Integer> {
private int i = 0;
public Integer get() { return ++i; }
}
public static void main(String[] args) {
Stream<Integer> s =
Stream.generate(new NaturalNumbers());
s.limit(5)
.peek(System.out::println)
.forEach(System.out::println);/// ׂ (*)
{
* 출력 내용 * : 코드를 실행하고 직접 보지 않으시겠습니까? 그런 다음 설명서를 읽고 이유를 이해하십시오. 제거 할 때마다 일어날 것으로 예상되는 것은 무엇입니까? –
ji는'for each '의 부작용에 대해 먼저 확인해야한다고 생각합니다 (https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html) – emotionlessbananas