Java流意外结果

Ale*_*lex 8 java java-8 java-stream

我有以下代码:

Stream.of("Java", "Stream", "Test")
      .peek(s -> System.out.print(s + " "))
      .allMatch(s -> s.startsWith("J"));
Run Code Online (Sandbox Code Playgroud)

为什么它会打印出Java Stream?

Ous*_* D. 10

allMatch短路操作,因为大多数的流操作的.因为allMatch早期返回,这就是为什么peek只打印前两个元素.