文章目录
Java14新推出的record关键字确实让人耳目一新,减少了大量数据类的代码。在写实体类的时候,set方法和get方法,虽然可以用lombok自动生成,但毕竟不是官方的实现。现在有了官方实现就不一样了。
语法
语法上,record是一种类型,跟枚举一样,是被严格限制的类型,下面是一个简单的record:
public record House(String building, String unit, String number) {
}
创建和读取属性的语法如下:
public class RecordDemo {
public static void main(String[] args) {
House house = new House("3栋", "一单元", "1508");
System.out.println(house.building());
System.out.println(house.unit());
System.out.println(house.number());
}
}
Record的所有属性都是只读的,而且类型体里面只能定义静态字段。我比较关心的是能不能与现有的框架集成。
JSON序列化/反序列化
spring默认的json序列化实现是Jackson,那么看看Jackson能不能record。先写代码试试吧:
<dependency>
<groupId>com.fasterxml.jackson.core