ฉันชอบโครงการลอมบอกแต่ในวันนี้ฉันกำลังอ่านและลองคุณสมบัติใหม่ของ java 14
ภายในความสามารถใหม่นี้มีคีย์เวิร์ดของเรกคอร์ดที่อนุญาตให้สร้างคลาสที่มีฟังก์ชันการทำงานต่อไปนี้แล้ว: คอนสตรัคเตอร์ฟิลด์สุดท้ายส่วนตัว accessors, equals / hashCode, getters, toString
ตอนนี้คำถามของฉันคือดีกว่าที่จะพึ่งพาคุณสมบัติของลอมบอกหรือเราควรเริ่มใช้ฟังก์ชั่นบันทึก:
ดีกว่าที่จะใช้สิ่งนี้:
record Person (String name, String surname) {}
หรือว่า:
@AllArgsConstructor
@ToString
@EqualsAndHashCode
public class GetterSetterExample {
@Getter private int name;
@Getter private int surname;
}
ข้อดีและข้อเสียของทั้งสองวิธีคืออะไร?
alice.phoneNumber()
แทนที่จะประชุม JavaBeans ของ prefixing ด้วยในขณะที่get
alice.getPhoneNumber()
record
คุณลักษณะเป็นคุณลักษณะแสดงตัวอย่าง , ยังไม่พร้อมสำหรับการใช้งานในการผลิต
record
จะไม่ทำงานกับสิ่งที่คาดหวังว่าตัวรับและตัวตั้งค่าสไตล์ JavaBeans