专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
OSC开源社区  ·  LF开源软件学园五周年:感恩相伴,携手前行 ·  2 天前  
蚂蚁技术AntTech  ·  南京大学与蚂蚁集团成立校级联合实验室,攻坚A ... ·  2 天前  
码农翻身  ·  对阿里离职员工万字长文,我的一点儿想法 ·  2 天前  
程序员小灰  ·  千呼万唤,小灰的新书出版了! ·  4 天前  
51好读  ›  专栏  ›  OSC开源社区

Java 9 中的 9 个新特性

OSC开源社区  · 公众号  · 程序员  · 2017-05-08 08:25

正文

请到「今天看啥」查看全文




3. JShell: 交互式 Java REPL


许多语言已经具有交互式编程环境,Java 现在加入了这个俱乐部。您可以从控制台启动 jshell ,并直接启动输入和执行 Java 代码。 jshell 的即时反馈使它成为探索 API 和尝试语言特性的好工具。



测试一个 Java 正则表达式是一个很好的说明 jshell 如何使您的生活更轻松的例子。 交互式 shell 还可以提供良好的教学环境以及提高生产力,您可以在此了解更多信息。在教人们如何编写 Java 的过程中,不再需要解释 “public static void main(String [] args)” 这句废话。



4. 改进的 Javadoc


有时一些小事情可以带来很大的不同。你是否就像我一样在一直使用 Google 来查找正确的 Javadoc 页面呢? 这不再需要了。Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。此外,你会注意到,每个 Javadoc 页面都包含有关 JDK 模块类或接口来源的信息。



5. 集合工厂方法


通常,您希望在代码中创建一个集合(例如,List 或 Set ),并直接用一些元素填充它。 实例化集合,几个 “add” 调用,使得代码重复。 Java 9,添加了几种集合工厂方法:

Set ints = Set.of(1, 2, 3);
List strings = List.of("first", "second");


除了更短和更好阅读之外,这些方法也可以避免您选择特定的集合实现。 事实上,从工厂方法返回已放入数个元素的集合实现是高度优化的。这是可能的,因为它们是不可变的:在创建后,继续添加元素到这些集合会导致 “UnsupportedOperationException” 。



6. 改进的 Stream API


长期以来,Stream API 都是 Java 标准库最好的改进之一。通过这套 API 可以在集合上建立用于转换的申明管道。在 Java 9 中它会变得更好。Stream 接口中添加了 4 个新的方法:dropWhile, takeWhile, ofNullable。还有个 iterate 方法的新重载方法,可以让你提供一个 Predicate (判断条件)来指定什么时候结束迭代:

IntStream.iterate(1, i -> i  i + 1).forEach(System.out::println);







请到「今天看啥」查看全文