网站logo
×

首页 > 最新资讯 > Java 14新特性--Records

Java 14新特性--Records

发布时间 2020-05-28

Jdk 14 分布已经有两个月了,分享一个新特性JEP 359: Records (Preview),详细信息可以进入https://openjdk.java.net/jeps/359查看,Records 就是一种类的新型申明形式,可以使我们非常简单的申明一个类,同时也有一些限制。目的就是为了简化代码,类似于Lombok的@Data注解,不过现在还是一个预览特性。

 

Records语法类似于这样

 

 

 

类名后面的括号可以写参数,然后一个类就创建完了。可以看到使用record可以省略很多代码。我们创建一个类使用一下这个新特性。

 

类的创建是这样子的

 

 

 

使用是这样子的

 

 

 

运行结果是这样的,可以看到他的toString()方法已经帮我们重写过了。

 

 

 

 

 

通过编译出来的文件,可以看到,

1)生成的类是 final 类型的,并且继承了:java.lang.Record,由于java是单继承,所以使用record申名的类不能继承其他类。;

2)生成的类成员变量全是 private final 类型的,成员变量的值不能进行更改;

3)自动生成了类构造器、toString()、hashCode()、equals(),以及类似 getter 的变量访问方法;

 

不知道这个特性会怎么发展,你希望怎么发展呢?