Memahami Method Equals() Dari Class Object Dan Perbedaannya Dengan Operator ==
Salah satu method yang sangat mempunyai kegunaan dari kelas Object ialah method equals(Object) di samping method lainnya menyerupai toString().
Namun sebelumnya, anda sudah mengetahui bahwa setiap objek pada Java mewarisi method (inherit) dari class java.lang.Object yang sanggup digunakan.
public boolean equals(Object o)
Kaprikornus method ini akan menguji apakah kedua objek ini ialah equal atau tidak. Syntax untuk memanggil method ini adalah:
object1.equals(object2);
Sedangkan secara default method ini diimplementasikan di dalam class Object dengan:
Implementasi di atas akan menyelidiki apakah dua variabel acuan menunjuk ke objek yang sama dengan yang memakai operator "==".
Anda harus mengganti metode ini di kelas kustomisasi yang anda buat untuk menguji apakah keduanya merupakan objek-objek yang berbeda dan mempunyai konten yang sama.
Method equals () di-overriding pada banyak kelas di Java API, menyerupai pada java.lang .String dan java.util.Date, untuk membandingkan apakah isi dua objek ialah sama.
Misalnya method equals() pada class String diwarisi dari kelas Object dan di overriden di kelas String untuk menguji apakah dua string mempunyai konten yang identik satu sama lain.
Karena Java tidak mendukung untuk operator overloading, maka operator "==" akan berperilaku identik untuk setiap objek. Namun, equals() ialah sebuah method di mana sanggup di-overriding dan logika untuk membandingkan objek dengan method ini sanggup diadaptasi dengan kebutuhan.
"==" atau disebut juga dengan operator kesetaraan pada jadwal Java. Ini ialah operator biner yang disediakan dan dipakai untuk membandingkan tipe primitif dan juga objek. Dalam hal membandingkan tipe data primitif menyerupai boolean, int, float, maka operator "==" sanggup bekerja dengan baik.
Namun, ketika harus membandingkan objek-objek, maka operator "==" sanggup menciptakan galau dibandingkan ketika anda memakai method equals() di Java. Operator "==" akan membandingkan dua objek menurut acuan memori. Kaprikornus operator "==" akan mengembalikan nilai true hanya bila dua acuan objek yang di bandingkan mewakili objek yang sama persis, selain itu:
Sementara itu method equals() sanggup mengembalikan nilai true atau false menurut penerapannya dari overidding. Salah satu perkara yang terkenal ialah membandingkan dua String di Java dimana perkara == dan equals() mengembalikan hasil yang berbeda.
Perbandingan string ialah skenario umum ketika memakai kedua metode operator "==" dan method equals(). Karena kelas java.lang.String meng-override method equals(), maka akan mengembalikan nilai true bila dua objek String berisi konten yang sama. Tapi operator "==" hanya akan mengembalikan nilai true bila dua acuan mengarah ke objek yang sama.
Berikut ialah pola untuk membandingkan dua String pada jadwal Java untuk persamaan memakai metode "==" dan method equals () yang niscaya akan menghapus beberapa keraguan anda.
Namun sebelumnya, anda sudah mengetahui bahwa setiap objek pada Java mewarisi method (inherit) dari class java.lang.Object yang sanggup digunakan.
Kaprikornus apa yang bekerjsama dilakukan oleh method equals(Object)?
Method equals mempunyai signature:public boolean equals(Object o)
Kaprikornus method ini akan menguji apakah kedua objek ini ialah equal atau tidak. Syntax untuk memanggil method ini adalah:
object1.equals(object2);
Sedangkan secara default method ini diimplementasikan di dalam class Object dengan:
public boolean equals(Object obj) { return (this == obj); }
Implementasi di atas akan menyelidiki apakah dua variabel acuan menunjuk ke objek yang sama dengan yang memakai operator "==".
Anda harus mengganti metode ini di kelas kustomisasi yang anda buat untuk menguji apakah keduanya merupakan objek-objek yang berbeda dan mempunyai konten yang sama.
Method equals () di-overriding pada banyak kelas di Java API, menyerupai pada java.lang .String dan java.util.Date, untuk membandingkan apakah isi dua objek ialah sama.
Misalnya method equals() pada class String diwarisi dari kelas Object dan di overriden di kelas String untuk menguji apakah dua string mempunyai konten yang identik satu sama lain.
Perbedaan method equals dan operator "=="
Method equals dan operator "==", keduanya sanggup dipakai untuk membandingkan objek. Namun, di sini anda melihat satu perbedaan yang sangat terang bahwa equals ialah sebuah method sedangkan == ialah sebuah operator.Karena Java tidak mendukung untuk operator overloading, maka operator "==" akan berperilaku identik untuk setiap objek. Namun, equals() ialah sebuah method di mana sanggup di-overriding dan logika untuk membandingkan objek dengan method ini sanggup diadaptasi dengan kebutuhan.
Bagaimana operator == bekerja?
"==" atau disebut juga dengan operator kesetaraan pada jadwal Java. Ini ialah operator biner yang disediakan dan dipakai untuk membandingkan tipe primitif dan juga objek. Dalam hal membandingkan tipe data primitif menyerupai boolean, int, float, maka operator "==" sanggup bekerja dengan baik.
Namun, ketika harus membandingkan objek-objek, maka operator "==" sanggup menciptakan galau dibandingkan ketika anda memakai method equals() di Java. Operator "==" akan membandingkan dua objek menurut acuan memori. Kaprikornus operator "==" akan mengembalikan nilai true hanya bila dua acuan objek yang di bandingkan mewakili objek yang sama persis, selain itu:
Perbedaan utama antara operator "==" dan method equals ialah bahwa "==" dipakai untuk membandingkan metode primitif sementara method equals() disarankan untuk menyelidiki persamaan objek. Perbedaan lain di antara keduanya ialah bahwa, bila "==" dan equals() dipakai untuk membandingkan objek maka operator "==" hanya mengembalikan nilai true bila kedua acuan mengarah ke objek yang sama.
Sementara itu method equals() sanggup mengembalikan nilai true atau false menurut penerapannya dari overidding. Salah satu perkara yang terkenal ialah membandingkan dua String di Java dimana perkara == dan equals() mengembalikan hasil yang berbeda.
Perbandingan string ialah skenario umum ketika memakai kedua metode operator "==" dan method equals(). Karena kelas java.lang.String meng-override method equals(), maka akan mengembalikan nilai true bila dua objek String berisi konten yang sama. Tapi operator "==" hanya akan mengembalikan nilai true bila dua acuan mengarah ke objek yang sama.
Berikut ialah pola untuk membandingkan dua String pada jadwal Java untuk persamaan memakai metode "==" dan method equals () yang niscaya akan menghapus beberapa keraguan anda.
Kesimpulan
- Gunakan operator "==" untuk membandingkan nilai primitif mis. boolean, int, char dll, sedangkan penggunaan method equals() ialah untuk membandingkan objek di Java.
- Operator "==" mengembalikan nilai true bila dua acuan mempunyai objek yang sama. Hasil method equal () akan tergantung pada implementasi overriden.
- Untuk membandingkan String maka gunakan method equals() daripada memakai operator persamaan "==".
Belum ada Komentar untuk "Memahami Method Equals() Dari Class Object Dan Perbedaannya Dengan Operator =="
Posting Komentar