四时宝库

程序员的知识宝库

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

一、前言

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

二、Java17 Stream SIZED 特性

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

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

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

三、最后

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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接