升级 java17 你或许应该知道小细节

JAVA架构日记

共 642字,需浏览 2分钟

 ·

2021-09-10 16:39

前言

Java17 将于下周二(9月14)正式发布,Java17 是一个长期支持 (LTS) 版本,想必很多朋友跃跃欲试。下面跟笔者一起看看可能需要调整代码的变更。

Java17 Stream SIZED 特性

从 Java17 开始,StreamSIZED 特性在 skip()limit() 操作期间会依然有效。这可能会导致 Stream 行为改变:

long count = Stream.of(1234)
 .skip(1)
 .limit(2)
 .peek(System.out::println)
 .count();
System.out.println("count:\t" + count);

上面的 peek 方法在 Java 8-16 中打印 2 和 3,但在 Java 17 中不打印任何内容。因为大小是预先知道的,因此没有必要遍历流。

效果演示

因为大小是预先知道的,因此没有必要遍历流。

最后

大家好,我是如梦技术春哥mica 微服务系列开源作者),请帮忙分享给更多有需要的同学,谢谢!!!

浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报