Java Record:简化数据载体的新选择

Java 14引入的Record类型为开发者提供了一种声明数据载体的简洁方式。它旨在简化那些主要包含数据的类,减少样板代码,提高开发效率。

传统的POJO类需要编写大量重复的构造函数、getter、equals()和hashCode()方法。而Record通过自动生成这些方法,让代码更加简洁明了:

public record User(String name, String email, int age) {
   }
 
 

这短短的一行代码相当于一个完整的不可变数据类,自动包含:

  • 所有字段的final修饰符
  • 全参数构造函数
  • 每个字段的getter方法(不使用get前缀)
  • 自动实现的equals()和hashCode()
  • 有用的toString()方法

Record特别适用于:

  • DTO(数据传输对象)
  • 返回多个值的场景
  • 临时数据容器
  • 不可变数据结构

需要注意的是,Record是隐式final的,不能被继承,且不能声明实例字段(只能基于构造参数)。虽然语法简洁,但它仍然支持添加静态字段、静态方法和实例方法。

posted @ 2025-11-03 09:16  晃悠人生  阅读(7)  评论(0)    收藏  举报