Cara menggunakan kelas Records dalam Java 14 untuk menggantikan objek DTO tradisional
Dalam pembangunan Java tradisional, untuk memindahkan data antara tahap yang berbeza, kami biasanya menggunakan objek DTO (Data Transfer Object). Objek DTO ialah kelas Java ringkas yang digunakan untuk merangkum data dan menghantarnya antara komponen yang berbeza. Walau bagaimanapun, mencipta dan mengekalkan sejumlah besar kelas DTO boleh menjadi membosankan dan berlebihan. Java 14 memperkenalkan kelas Rekod, yang menyediakan cara yang lebih ringkas dan intuitif untuk menentukan kelas enkapsulasi data.
Kelas Rekod boleh membantu kami mencipta kelas data tidak berubah secara automatik. Ia secara automatik menjana pembina, kaedah getter, equals, hashCode, toString dan kaedah lain untuk kami. Menggunakan kelas Rekod boleh mengurangkan beban kerja kami dalam menulis kod sambil meningkatkan kebolehbacaan dan kebolehselenggaraan kod.
Berikut ialah contoh penggunaan kelas Rekod:
public record Person(String name, int age) {} public class Main { public static void main(String[] args) { Person person = new Person("Alice", 25); System.out.println(person.name()); System.out.println(person.age()); System.out.println(person); } }
Dalam contoh di atas, kami telah menentukan kelas Orang, yang diisytiharkan menggunakan rekod kata kunci. Kami juga mentakrifkan dua sifat: nama dan umur. Kelas Rekod akan menjana pembina secara automatik dengan nama dan umur parameter, serta kaedah pemeroleh yang sepadan.
Dalam kaedah utama, kami mencipta objek Orang menggunakan kata kunci baharu, dan mendapatkan nilai atribut objek dengan memanggil kaedah nama() dan umur(). Akhir sekali, dengan memanggil kaedah toString(), kita boleh mencetak objek Person secara langsung.
Sebagai tambahan kepada kaedah yang dijana secara automatik, kelas Rekod juga menyediakan kami dengan beberapa fungsi khas. Sebagai contoh, kelas Rekod secara automatik menjana pengubah suai akhir untuk setiap sifat, menjadikannya medan yang tidak boleh diubah. Ini bermakna kita tidak boleh mengubah suai nilai harta objek selepas ia dicipta, sekali gus memastikan ketidakbolehubah objek.
Satu lagi ciri berguna ialah kelas Rekod secara automatik melaksanakan kaedah equals dan hashCode untuk kami. Ini bermakna kita boleh menggunakan operator == untuk membandingkan dua objek Rekod tanpa perlu menulis kaedah sama secara manual.
Pada masa yang sama, kelas Rekod juga menyediakan kaedah penyalinan yang sangat mudah untuk mencipta objek baharu dengan sifat yang sama seperti objek asal tetapi nilai yang berbeza. Menggunakan kaedah salin, kita boleh mengubah suai nilai harta objek dengan mudah tanpa menulis logik salinan secara manual.
public record Person(String name, int age) {} public class Main { public static void main(String[] args) { Person person = new Person("Alice", 25); Person modifiedPerson = person.withAge(30); System.out.println(modifiedPerson); } }
Dalam contoh di atas, kami mencipta objek Orang baharu menggunakan kaedah withAge, di mana sifat umur diubah suai kepada 30. Kami hanya perlu mengubah suai sifat yang kami minati, dan tidak perlu memberi perhatian kepada nilai hartanah lain.
Kelas Rekod juga boleh digunakan dengan ciri lain seperti padanan corak. Padanan corak ialah satu lagi ciri penting dalam Java 14 yang membantu kami mengendalikan keadaan objek yang berbeza dengan lebih mudah.
public record Person(String name, int age) {} public class Main { public static void main(String[] args) { Person person = new Person("Alice", 25); if (person instanceof Person p) { System.out.println(p.name()); System.out.println(p.age()); } } }
Dalam contoh di atas, kami menggunakan padanan corak untuk mengikat sifat objek Orang kepada pembolehubah p dan mengeluarkannya dalam pernyataan if. Ini membolehkan kami menggunakan kelas Rekod dengan lebih intuitif untuk mengendalikan keadaan objek yang berbeza.
Ringkasnya, kelas Rekod dalam Java 14 memberikan kita cara yang lebih ringkas dan intuitif untuk menentukan kelas enkapsulasi data. Dengan menjana pembina secara automatik, kaedah getter, sama dan kaedah lain, kami boleh mengurangkan beban kerja menulis kod dengan banyak. Pada masa yang sama, beberapa fungsi khas kelas Rekod dan gabungan dengan fungsi lain membolehkan kami memproses objek data dengan lebih cekap. Ini menjadikan kelas Records sebagai pilihan yang baik untuk menggantikan objek DTO tradisional dalam pembangunan Java.
Atas ialah kandungan terperinci Cara menggunakan kelas Rekod dalam Java 14 dan bukannya objek DTO tradisional. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!