java11新特性

原文:New Features in Java 11

1.概述

Oracle在2018年9月发布了java 11,仅在其前身版本10后6个月。
java 11是继java 8 之后第一个长期支持的版本。Oracle在2019年一月份已经停止了对java 8 的支持。因此,大部分人会升级到java 11。
在本教程中,我们将看看选择java 11的原因。然后我们将会探索几个新特性,已移除的特性以及java11中引入的性能增强。

2.Oracle vs. Open JDK

Java10是最后一个免费的Oracle JDK版本,我们可以在没有许可证的情况下进行商业使用。从Java 11开始,Oracle不提供免费的长期支持。
值得感谢的是,Oracle继续提供Open JDK发布,我们可以下载免费使用。
除了Oracle,还有一些其他的Open JDK提供者可供我们选择。
Differences Between Oracle JDK and OpenJDK

3.开发者特性

让我们看看常见API的更改,以及其他一些对开发人员有用的特性。

3.1 新 String 方法

Java 11 String 类增加了一个新方法:isBlank, lines, strip, stripLeading, stripTrailing, and repeat.

String multilineString = "Baeldung helps \n \n developers \n explore Java.";
List<String> lines = multilineString.lines()
  .filter(line -> !line.isBlank())
  .map(String::strip)
  .collect(Collectors.toList());
assertThat(lines).containsExactly("Baeldung helps", "developers", "explore Java.");

这些方法可以减少操作String对象涉及的样板代码数量,从不得不导入外部包中解脱出来。
在上面的例子中的strip方法,提供了与trim方法非常相似的功能,但有更好的控制以及Unicode支持。

3.2 新 File 方法

另外,Java11从文件中读取/写入文本更加容易。
我们可以使用File类新的的静态方法:readString 和 writeString

Path filePath = Files.writeString(Files.createTempFile(tempDir, "demo", ".txt"), "Sample text");
String fileContent = Files.readString(filePath);
assertThat(fileContent).isEqualTo("Sample text");
3.3 集合到数组

java.util.Collection 接口有一个新的默认方法:toArray 。


                
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值