jdk9 的record类
Java 14引入了一种新的类型,称为记录(record)类,而不是JDK 9。记录类是一种紧凑的类声明,用于声明不可变的数据类。它们提供了一种简洁的方式来定义类,只需声明字段,而不需要手动编写getter、setter和equals、hashCode等方法。
记录类具有以下特点:
- 自动创建字段:记录类自动创建了私有的final字段,用于存储类的状态。
- 自动创建构造函数:记录类自动创建了一个构造函数,该构造函数接受所有字段作为参数,并将它们赋值给相应的字段。
- 自动创建equals和hashCode方法:记录类自动创建了equals和hashCode方法,这些方法根据记录类的字段进行比较。
- 自动创建toString方法:记录类自动创建了toString方法,该方法返回记录类的字段名称和值。
以下是一个使用记录类的示例:
public record Person(String name, int age) {
// 可以在记录类中添加其他方法
}
上述代码定义了一个名为Person的记录类,它具有两个字段:name和age。记录类自动创建了一个构造函数,可以使用以下方式创建Person对象:
Person person = new Person("John", 30);
记录类还自动创建了equals、hashCode和toString方法,可以使用以下方式使用它们:
System.out.println(person.equals(new Person("John", 30))); // 输出 true
System.out.println(person.hashCode()); // 输出一个哈希码
System.out.println(person.toString()); // 输出 "Person[name=John, age=30]"
总之,JDK 14引入了记录类,它提供了一种简洁的方式来定义不可变的数据类。记录类自动创建字段、构造函数、equals、hashCode和toString方法,减少了手动编写这些方法的工作量。
原文地址: https://www.cveoy.top/t/topic/i10F 著作权归作者所有。请勿转载和采集!