Java14 新特性

作者:朋也

日期:2021-02-19

版权声明:自由转载-非商用-非衍生-保持署名( 创意共享3.0许可证

  • instanceof 模式匹配 -> 替换强制类型转换
  • NullPointException异常信息更详细
  • ZGC可在Macos和Windows上使用

以下内容整理自尚硅谷的视频教程

instanceof 模式匹配 -> 替换强制类型转换

用处:可以省去强制转换

NullPointException异常信息更详细

启动时添加一个启动参数可以让空指针异常信息更完整

在启动程序的时候,添加上 -XX:+ShowCodeDetailsInExceptionMessages

Record(官方的Lombok)

新增的一个关键字record,跟class,interface同一级别

这货就是为了不用写setter, getter方法而存在的,用法如下

以前定义一个实体类带setter, getter的写法如下

用上 record 后的写法

Person.class内容

可以看到,jdk在编译的时候做了跟lombok一样的事情

问题:

  • record类不能继承其它类(因为record反编译过来后就是个final类)
  • record类不能再被abstract修饰(因为record本身就已经继承了Record类)

switch语法糖

switch的语法糖已经不再是实验性质的了

用法如下图

且它还有返回值,可以使用变量接收

使用yield返回默认值,或者不使用 -> 直接使用 : 也可以配合着yield返回值

多行文本

java程序员垂涎已久的功能,终于添加上了,用法如下

ZGC可在Macos和Windows上使用

号称最牛逼的垃圾回收机ZGC在jdk14以前还只能用在linux上,14开始可以在macos和windows上用了