gpt4 book ai didi

java - Java 8 和 11 之间的流差异

转载 作者:太空狗 更新时间:2023-10-29 22:55:13 25 4
gpt4 key购买 nike

<分区>

考虑这段代码:

public static void main(String[] args) {
Stream.iterate(1, i -> i + 1)
.flatMap(i -> Stream.of(i, i, i))
.peek(System.out::println)
.limit(4)
.forEach(i -> {});
}

Java 8 中的输出:

1
1
1
2
2
2

在 Java 11 中:

1
1
1
2

这是 Java 8 中的错误或预期行为,但在 11 中发生了变化?

上面的代码只是一个演示不同行为的例子,但更严重的区别是以下代码在 Java 11 中打印 1,2,3 但在 Java 8 中进入无限循环:

    Stream.iterate(0, i -> i + 10)
.flatMap(i -> Stream.iterate(i + 1, j -> j + 1))
.limit(3)
.forEach(System.out::println);

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com