Проверяет понимание record в Java — компактного способа создания неизменяемых классов-носителей данных, введённого в Java 14.
Record — это новая фича, появившаяся в Java 14 (в preview) и ставшая стабильной в Java 16. Она позволяет создавать неизменяемые классы-носители данных (data carriers) с минимальным количеством кода. Вместо того чтобы вручную писать поля, конструктор, геттеры, equals, hashCode и toString, вы просто объявляете record с компонентами, и всё это генерируется автоматически.
Объявление record выглядит так:
public record Point(int x, int y) { }Этот record автоматически создаёт:
Record не может быть наследован (он финальный), и все его поля неизменяемы (final).
public record User(String name, int age) { }
public class Main {
public static void main(String[] args) {
User user = new User("Alice", 30);
System.out.println(user.name()); // Alice
System.out.println(user); // User[name=Alice, age=30]
}
}Record идеально подходит для DTO (Data Transfer Objects), ответов API, ключей в мапах, кортежей и любых случаев, где нужен простой неизменяемый контейнер данных. Он делает код чище и уменьшает вероятность ошибок, связанных с ручной реализацией equals/hashCode.
Вывод: Используйте record, когда вам нужен простой, неизменяемый класс для хранения данных без дополнительной логики. Это улучшает читаемость и поддерживаемость кода.