背景
JDK16 于 2021 年 3 月 18 日正式发布了,其他跟着 JDK 走的软件,如 IDEA 都需要跟上节奏,最新的 IDEA 才支持 JDK 16。
人家 Java 是半年发布一个新版本,而我还在用 JDK 8 ,这中间差了好几个版本呐!惭愧之余,玩了下两个简单的新特性。
instance of 增强
支持实例判断并对变量赋值:
Object test = new Object();
if ( test instance of String name) {
// TODO
}
它简化了我们使用实例赋值的逻辑,之前的版本我们是这样使用的
Object test = new Object();
if ( test instance of String) {
String name = test;
// TODO
}
新特性一行代码可以完成过去两行代码的事情,看似一行代码的简化,也是值得欣喜的事情,说明 Java 也在朝着简介的方向发展了哇!
record 功能
record 关键字比 lombok 还要高级、简洁,直接不需要依赖 lombok 包和注解,就自动生成一个类的 getter、setter 和 toString 方法。
使用方法用 record 声明一个类的构造函数形式的代码,就完成了一个 POJO 类的定义:
record HelloWorld(int year,String name) {
}
对于用 record 修饰的类创建的实例,直接用 对象.属性名称 就可以访问了。
启示录
技术更新迭代太快,这不甚灵光的脑袋!前几天还在思考这个问题呢,就是 Java8 的流的应用,以前了解了一下后来不常用就忘记了。真正要遍历处理列表、集合时,旧版本的处理方式随时敲来,也不想耗费脑细胞去用流了。
Java 有那么多新技术和框架,哪学的过来呀,但是解决常规问题用到的知识的确是符合二八原则的。又一个为自己不学无术找到的逻辑自洽!