Uwielbiam projekt Lombok, ale obecnie czytam i wypróbowuję niektóre nowe funkcje Java 14.
Wewnątrz nowej możliwości znajduje się słowo kluczowe record, które pozwala utworzyć klasę z już wbudowaną następującą funkcjonalnością: konstruktor, prywatne pola końcowe, akcesory, equals / hashCode, getters, metody toString.
Teraz moje pytanie brzmi: lepiej polegać na funkcji Lombok, czy też powinniśmy zacząć korzystać z funkcji nagrywania:
Lepiej użyć tego:
record Person (String name, String surname) {}
albo to:
@AllArgsConstructor
@ToString
@EqualsAndHashCode
public class GetterSetterExample {
@Getter private int name;
@Getter private int surname;
}
Jakie są zalety i wady obu podejść?
alice.phoneNumber()
zamiast konwencji JavaBeans o prefiksie get
, jak w alice.getPhoneNumber()
.
record
funkcja jest funkcją podglądu , ale nie jest jeszcze gotowa do użycia w produkcji.
record
nie będzie działać na rzeczy oczekujące programów pobierających i ustawiających w stylu JavaBeans.