Java9 新特性 - 下篇
1、try 语句结构升级
在 Java9 中可以在 try 子句中使用已经初始化过的资源。
复制代码
2、下划线命名标识符的限制
复制代码
3、String 底层存储结构的变化
JDK8 之前,底层使用 char[] 存储,JDK9 底层使用 byte[] 存储。
4、创建只读集合
1)、Java8 创建只读集合方式
复制代码
2)、Java9 创建只读集合方式
复制代码
5、StreamAPI 增强
在 Java9 中,Stream API 变的更好,Stream 接口中添加了 4 个新的方法,dropWhile
、 takeWhile
、ofNullable
、 还有个 iterator 方法的新重载方法。
除了对 Stream 本身的扩展,Optional 和 Stream 之间的结合也得到了改进。现在可以通过 Optional 的新方法 stream() 将一个 Optional 对象转换为一个(可能是空的)Stream 对象。
① takeWhile
用于从 Stream 中获取一部分数据,接收一个 predicate 来进行选择。在有序的 Stream 中,takeWhile 返回从开头开始的尽量多的元素。
复制代码
② dropWhile
dropWhile 的行为与 takeWhile 相反,返回剩余的元素。
复制代码
③ ofNullable 的使用
Java8 中 Stream 不能完全为 Null ,否则会报空指针异常。而 Java9 中的 ofNullable 方法允许我们创建一个单元素 Stream ,可以包含一个非空元素,也可以创建一个空 Stream 。
复制代码
④ iterate 函数重载
复制代码
6、Optional 提供的 Stream 方法
复制代码
版权声明: 本文为 InfoQ 作者【hepingfly】的原创文章。
原文链接:【http://xie.infoq.cn/article/15e270059e1b5e35f21e91401】。文章转载请联系作者。
评论