record とは
Java 14 から、データを保持するための immutable なクラスを定義するための新しい構文が追加されました。それが record です。
データを保持するために、以下のような性質を持つクラスを定義することは、Java では頻繁にあります。
データを保持するために、以下のような性質を持つクラスを定義することは、Java では頻繁にあります。
- immutable であること
- コンストラクタでフィールドを全て設定し、フィールドは final
- 値を取り出すメソッドを持っていること
- final クラスであること
- hashCode, equals, toString が適切に定義されていること
とても頻繁に定義するので、IDE で自動生成したり、Lombok のような特殊な仕組みを使ったりしていました。
これからは、record がサポートしてくれます。