【发布时间】:2019-12-13 18:14:18
【问题描述】:
我正在准备考试,但我对偷看感到困惑。演示代码:
Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9)
.peek(x -> System.out.print("A" + x))
.skip(6)
.peek(x -> System.out.print("B" + x))
.forEach(x -> System.out.println("C" + x));
输出:
A1A2A3A4A5A6A7B7C7
A8B8C8
A9B9C9
有人能解释一下这里发生了什么吗?我所知道的是skip(6) 会跳过前 6 个元素,peek 会在给定时刻打印流的值。
【问题讨论】:
-
阅读这个问题的答案:stackoverflow.com/questions/54405863/…
-
顺便说一句,设置这个的人非常卑鄙,他们完全不合逻辑地选择了
print和printlns。如果每个语句都是println,这更容易推理。
标签: java java-stream