繁体   English   中英

Java流意外结果

[英]Java stream unexpected result

我有以下代码:

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

为什么它会打印出Java Stream?

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

因为allMatch()检查流中的每个元素是否为true。 由于第二个是假的,因此无需进一步检查。

所以peek()不会打印第3个元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM