oktatas:programozas:java:java_record
Tartalomjegyzék
Java - Record
- Szerző: Sallai András
- Copyright © 2023, Sallai András
- Szerkesztve: 2023
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Bevezetés
A Java 14-ben bevezették a Record kulcsszót.
Nem változtatható adatok, objektumok közötti mozgatására szokás használni.
A record nélkül
Hozzunk létre egy Employee osztályt, a következő követelményekkel:
- private mezők, final módosítókkal
- minden mező beállítható a konstruktoron keresztül
- felülírjuk az equals() metódust
- felülírjuk a hashCode() metódust
- felülírjuk a toString() metódust
- Employee.java
class Employee { private final String name; private final String city; private final double salary; public Employee(String name, String city, double salary) { this.name = name; this.city = city; this.salary = salary; } @Override public int hasCode() { return Objects.hash(name, city, salary); } @Override public boolean equals(Object obj) { if (this == obj) { return true; }else if (!(obj instanceof Employee) { return false; }else { Employee emp = (Employee) obj; return Objects.equals(name, emp.name) && Objects.equals(city, emp.city) && Objects.equals(salary, emp.salary } } @Override public String toString() { return "Employee [name=" + name + ", city=" + city + ", salary=" + salary + "]"; } // Ide jönnek a szabványos elérők }
A record
Most nézzük meg a fenti kódot „record”-dal:
public record Employee (String name, String city, double salary) {}
Konstruktor
A record létrehoz egy konstruktort, de kiegészíthetjük más konstruktorral, aminek más aláírása lesz.
public record Employee (String name, String city, double salary) { public Employee(String name) { Objects.requireNonNull(name); } }
Statikus tagok
oktatas/programozas/java/java_record.txt · Utolsó módosítás: 2024/01/13 21:36 szerkesztette: admin