Cara Mengatasi Kaedah equals() dalam Java
Mengatasi kaedah equals() adalah penting untuk menyesuaikan tingkah laku perbandingan kesamaan untuk tersuai objek di Jawa. Berikut ialah panduan komprehensif untuk membantu anda melakukannya dengan berkesan:
Masalahnya:
Dalam coretan yang diberikan, anda mengalami ralat semasa cuba membandingkan medan umur menggunakan equals( ), kerana ia direka untuk objek String. Nilai integer memerlukan penggunaan operator ==.
Penyelesaian:
Untuk menyelesaikan ralat ini, gunakan operator == untuk membandingkan jenis data primitif seperti umur. Coretan kod yang diubah suai adalah seperti berikut:
public boolean equals(People other){ boolean result; if((other == null) || (getClass() != other.getClass())){ result = false; } // end if else{ People otherPeople = (People)other; result = name.equals(other.name) && age == other.age; } // end else return result; } // end equals
Penjelasan Tambahan:
1. Proses Mengatasi:
2. Semakan Null:
3. Perbandingan Kelas:
4. Logik Perbandingan Tersuai:
Contoh:
Contoh yang disediakan mengatasi equals() untuk kelas Person, membandingkan kedua-dua nama dan umur untuk kesamaan:
public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final Person other = (Person) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
Kesimpulan:
Mengatasi kaedah equals() memberi anda kuasa untuk menentukan perbandingan kesamaan tersuai untuk objek tersuai anda. Dengan mengikuti langkah dan contoh yang diberikan dengan teliti, anda boleh membandingkan objek dengan berkesan berdasarkan atribut khusus mereka.
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Kaedah equals() dengan betul di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!