Создали record:
record Vehicle(String year, String make, String model) {}
var car = new Vehicle("2020", "Toyota", "Camry»);
И Java сразу даёт несколько методов.
car.year(); // "2020"
car.make(); // "Toyota"
car.model(); // "Camry"
Не getYear(), а именно year() — это одна из особенностей records.
System.out.println(car);
// Vehicle[year=2020, make=Toyota, model=Camry]
var car1 = new Vehicle("2020", "Toyota", "Camry");
var car2 = new Vehicle("2020", "Toyota", "Camry");
car1.equals(car2); // true
И автоматически генерируется соответствующий hashCode().
То есть record уже из коробки даёт удобную модель «данные + value-based equality», а не просто сокращённую запись класса.
══════ Навигация ══════
Вакансии • Задачи • Собесы
