Records (Java 16+) คือตัวพาข้อมูล (data carrier) ที่กระชับและ immutable ซึ่ง generate โค้ดซ้ำซ้อน (boilerplate) ให้อัตโนมัติ และ sealed classes (Java 17+) จำกัดว่าคลาสใดบ้างที่สามารถ extend/implement ชนิดหนึ่งได้ ทั้งสองเป็นฟีเจอร์สมัยใหม่ที่ทำให้ Java แสดงออกได้ดีขึ้นและเปิดทางให้การจำลองโมเดลที่ดีกว่า
Records — ข้อมูลที่ immutable ไม่มี boilerplate
{}
(, );
p.x();
p.equals( (, ));
p;
p.hashCode();
