JDk17新特性
增强 switch
并且支持 ,
支持多行语句,使用 yield 返回
支持类型判断
增强 instanceof
之前需要判断完类型之后需要强转,现在不需要了
增强空指针优化
之前空指针只会告诉你哪一行报错
现在直接具体到哪一个对象上去。
增强字符串拼接
使用 """ [中间可以写多行文本] """
不需要再使用 + 拼接 和 繁琐的转义了
支持一些转义字符 \(不换行) \s(空格)
密封类
sealed 关键字(可用于接口、类),父类使用
像以上的密封类就限制了只能够支持 Dog、Cat 去继承 Animal。
子类必须使用,final 或 non_sealed,分别表示 子类不可被继承 或 子类可以继续被继承。
Record
就是一个只读类,只能再创建对象的时候指定值,并且只提供 get 方法。相当于 Lombok 中 Getter + AllArgument。
好处:
1. 模块化,说白了其实是为了更加模块化新增的特性了。
2. 限制继承范围,同一个包下。
3. 更加的可控,只能这个包下才能继承,更加的可维护。
4. 更加的安全,继承范围可控。
ZGC
JDK8夭折!JDK17新特性增长430%!泰裤辣!!!速学!_哔哩哔哩_bilibili