Kaedah sama dalam Java ialah kaedah yang digunakan untuk membandingkan sama ada objek adalah sama Ia adalah kaedah kelas Objek dan sangat biasa digunakan dalam pembangunan sebenar. Walau bagaimanapun, disebabkan pemahaman yang tidak mencukupi tentang kaedah equals dan pelaksanaannya, ramai pembangun akan membuat beberapa salah faham biasa apabila menggunakan kaedah equals. Artikel ini akan memperkenalkan langkah berjaga-jaga dan salah faham biasa tentang kaedah equals dalam Java untuk membantu pembaca memahami dan menggunakan kaedah equals dengan lebih baik.
Pertama, mari kita fahami penggunaan asas kaedah equals. Di Java, semua kelas mewarisi daripada kelas Objek, dan kaedah sama dalam kelas Objek ditakrifkan seperti berikut:
public boolean equals(Object obj) { return (this == obj); }
Seperti yang anda lihat, pelaksanaan lalai kaedah sama dalam kelas Objek adalah untuk membandingkan sama ada rujukan bagi objek adalah sama, iaitu, untuk menilai sama ada dua objek adalah sama. Tetapi dalam pembangunan sebenar, kita biasanya perlu menentukan kesamaan berdasarkan kandungan objek, jadi kita perlu mengatasi kaedah sama dalam kelas tersuai. Berikut ialah contoh mengatasi kaedah equals:
public class Person { private String name; private int age; // 省略构造方法和其他代码 @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } Person person = (Person) obj; return age == person.age && Objects.equals(name, person.name); } }
Dalam contoh ini, kami mengatasi kaedah equals kelas Orang untuk menentukan sama ada dua objek Orang adalah sama berdasarkan nama dan umur.
Seterusnya, kami akan memperkenalkan beberapa langkah berjaga-jaga dan salah faham biasa tentang kaedah equals yang perlu diberi perhatian dalam pembangunan sebenar.
Apabila menulis semula kaedah equals, anda perlu memastikan syarat di atas dipenuhi untuk memastikan ketepatan kaedah equals.
Untuk meringkaskan, kaedah equals dalam Java ialah kaedah yang digunakan untuk membandingkan sama ada objek adalah sama, dan sangat biasa digunakan dalam pembangunan sebenar. Walau bagaimanapun, apabila menggunakan kaedah equals, anda perlu memberi perhatian kepada spesifikasi dan langkah berjaga-jaga untuk menulis semula kaedah equals untuk mengelakkan salah faham biasa. Menulis semula kaedah equals dengan betul boleh meningkatkan kebolehselenggaraan dan keteguhan program, jadi saya harap artikel ini dapat membantu pembaca lebih memahami dan menggunakan kaedah equals.
Atas ialah kandungan terperinci Salah faham dan langkah berjaga-jaga biasa: kaedah equals(Object) dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!