Rumah >Java >javaTutorial >Bagaimanakah Saya Mengatasi Kaedah `equals` dengan betul untuk Perbandingan Objek di Jawa?
Memahami Kesamaan Objek dalam Java
Untuk membandingkan kesamaan dua objek di Jawa, seseorang sering menggunakan kaedah sama. Dalam senario yang diterangkan, matlamatnya adalah untuk mengatasi kaedah sama untuk kelas Orang dengan medan nama dan umur, untuk memudahkan perbandingan antara objek Orang.
Pelaksanaan awal yang dibentangkan menggunakan kaedah sama untuk medan umur, yang adalah jenis Integer. Walau bagaimanapun, seperti yang dinyatakan, kaedah equals direka khusus untuk membandingkan objek String.
Penyelesaian: Membandingkan Medan Integer
Untuk membandingkan medan Integer, adalah disyorkan untuk menggunakan operator == dan bukannya kaedah sama. Operator == membandingkan nilai jenis data primitif secara langsung, dan bukannya menggunakan kaedah equals.
Melaksanakan Equals dengan Betul
Pelaksanaan yang betul bagi kaedah equals untuk kelas Orang hendaklah seperti berikut:
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final People other = (People) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
Dalam ini pelaksanaan:
Atas ialah kandungan terperinci Bagaimanakah Saya Mengatasi Kaedah `equals` dengan betul untuk Perbandingan Objek di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!