Java14 新特性
source link: https://tomoya92.github.io/2021/02/19/java14/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
作者:朋也
日期: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上用了
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK