Rumah > Java > javaTutorial > Apakah maksud sama dalam java?

Apakah maksud sama dalam java?

下次还敢
Lepaskan: 2024-05-09 06:21:18
asal
982 orang telah melayarinya

Kaedah

equal() digunakan dalam Java untuk membandingkan kesamaan dua objek Ia mengembalikan nilai Boolean yang menunjukkan sama ada ia sama. Kaedah equal() melakukan perbandingan dengan menyemak rujukan objek, jenis dan delegasi kepada subkelas. Untuk kelas tersuai, anda boleh menyesuaikan peraturan perbandingan dengan mengatasi kaedah equal(), mengikut prinsip reflekstiviti, simetri, transitiviti dan ketekalan.

Apakah maksud sama dalam java?

Peranan kaedah equal() dalam Java

Di Java, kaedah equal() ialah kaedah teras kelas Objek, yang digunakan untuk membandingkan kesamaan dua objek. Kaedah ini mengembalikan nilai Boolean yang menunjukkan sama ada kedua-dua objek adalah sama. Kaedah

Pelaksanaan konkrit

equal() membandingkan dua objek melalui langkah berikut:

  1. Semak rujukan objek: Jika dua rujukan objek menghala ke objek yang sama, ia adalah sama.
  2. Menyemak jenis objek: Jika dua objek bukan jenis yang sama, ia tidak sama.
  3. Mewakilkan kepada subkelas: Jika dua objek daripada jenis yang sama, kaedah ini akan mewakilkan kepada subkelas untuk perbandingan selanjutnya.

Timpa kaedah equal()

Untuk kelas tersuai, anda boleh menyesuaikan peraturan perbandingan dengan mengatasi kaedah equal(). Kaedah equal() yang ditindih hendaklah mengikut prinsip berikut:

  • Refleksitiviti: x.equals(x) harus kembali benar untuk sebarang nilai rujukan bukan nol x.
  • Simetri: Untuk sebarang nilai rujukan bukan nol x dan y, jika x.equals(y), maka y.equals(x) juga harus kembali benar.
  • Transitiviti: Untuk sebarang nilai rujukan bukan nol x, y dan z, jika x.equals(y) adalah benar dan y.equals(z) adalah benar, maka x.equals(z) juga harus kembali benar.
  • Ketekalan: Untuk sebarang nilai rujukan bukan nol x dan y, jika kaedah hashCode() dipanggil berbilang kali, hasil x.equals(y) hendaklah konsisten.

Contoh

Berikut ialah contoh kelas tersuai yang mengatasi kaedah equal():

<code class="java">class Person {
    private String name;
    private int age;

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof Person) {
            Person other = (Person) obj;
            return this.name.equals(other.name) && this.age == other.age;
        }
        return false;
    }
}</code>
Salin selepas log masuk

Dalam contoh ini, kaedah equal() membandingkan nama dan medan umur objek dua Orang untuk menentukan kesamaan .

Atas ialah kandungan terperinci Apakah maksud sama dalam java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan