👋 Сегодня разберёмся с record и class в Java. Когда лучше использовать record, а когда стоит остаться на классах?
🧐 Что такое
record? Record — это специальный тип класса, предназначенный для хранения неизменяемых данных. Он автоматически генерирует:
✅ Конструктор, принимающий все поля
✅
toString(), equals(), hashCode() ✅ Методы доступа (`getter'ы`)
📌 Пример использования Record:
public record User(String name, int age) {}
🔥 Это равнозначно следующему классу:
public final class User {
private final String name;
private final int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String name() { return name; }
public int age() { return age; }
@Override
public boolean equals(Object o) { /* реализация */ }
@Override
public int hashCode() { /* реализация */ }
@Override
public String toString() { /* реализация */ }
}
🏆 Когда использовать
record? ✔️ Когда у вас неизменяемые (immutable) объекты
✔️ Когда вам нужны только данные без логики
✔️ Когда хочется избежать бойлерплейта
⛔ Когда НЕ стоит использовать
record? 🚫 Если нужно наследование (record не поддерживает `extends`)
🚫 Если объект должен быть мутабельным (изменяемым)
🚫 Если в классе должна быть сложная логика поведения
✍️ Итог
Используйте record, если вам нужен простой DTO (Data Transfer Object) без лишнего кода. Но если у объекта есть логика, стоит оставить класс.
👉@BookJava