Record: что это
Коротко
Record: неизменяемый класс-носитель данных (Java 16): компоненты в заголовке, генерируются private final поля, канонический конструктор, аксессоры, equals, hashCode, toString. Неявно final, не может наследовать классы, может реализовывать интерфейсы, компактный конструктор для валидации.
Определение
Неизменяемый класс-носитель данных (Java 16): компоненты в заголовке, генерируются private final поля, канонический конструктор, аксессоры, equals, hashCode, toString. Неявно final, не может наследовать классы, может реализовывать интерфейсы, компактный конструктор для валидации.
Из урока «Современная Java: record, sealed, pattern matching»
Record это неизменяемый носитель данных: поля private final, канонический конструктор, методы-аксессоры amount() (без get), equals, hashCode, toString по всем компонентам. Record неявно final и наследует java.lang.Record, поэтому не может расширять другой класс, но может реализовывать интерфейсы. Как JPA-сущность record не годится (нужен конструктор без аргументов и изменяемость), а как DTO и ключ HashMap идеален.
Читать урок целикомВопросы по теме с собеседований
Запомните, а не прочитайте
В тренажёре карточка вернётся, когда начнёт забываться. А билеты по Java проверят, что термин понятен в деле.