this → Artikel Baru – ( Atrikel Lama ↓ )

2 Contoh Program Overriding Method Equal pada Java

Perhatikan contoh program berikut ini untuk memahami fungsi method overriding equal pada bahasa pemrograman Java:

class Complex 

private double re, im;  

 

public Complex(double re, double im) { 

this.re = re; 

this.im = im;} 

 

// Driver class untuk test

// Complex class.

public class Main 

 

public static void main(String[] args) { 

Complex c1 = new Complex(10, 15); 

Complex c2 = new Complex(10, 15); 

if (c1 == c2) 

{System.out.println("Sama ");} 

else {System.out.println("Tidak"

+" Sama ");} 

}

 

}

Output:
Tidak Sama


Pahami pula, tentang semua konsep desain Web untuk tingkat pemula melalui materi lengkap JAVA [klik].


Alasan untuk mencetak "Tidak Sama" adalah ketika membandingkan c1 dan c2, maka akan diperiksa apakah kedua nilai tersebut mengacu pada object yang sama atau tidak. c1 dan c2 mengacu pada dua object berbeda, karena itu nilainya adalah false. Jika diciptakan referensi lainnya c3 seperti pada contoh program berikut (c1 == c3), maka akan memberikan nilai true.

Complex c3 = c1; /* (c3 == c1) akan bernilai true */

Semua class pada Java diturunkan (inherit) dari object class, baik secara langsung atapun juga tidak langsung. Class object memiliki beberapa method dasar seperti clone()toString()equals(), dan lain sebagainya. Sehingga, dapat dilakukan overriding method equal atau yang bernilai sama dalam sebuah class untuk diperiksa apakah kedua object tersebut memiliki nilai atau data yang sama atau tidak.

class Complex 

private double re, im; 

 

public Complex(double re, double im

{this.re = re; 

this.im = im;} 

 

// Overriding equals() untuk

// membandingkan dua object

// Complex.

@Override

public boolean equals(Object o) { 

 

// Jika object yang

// dibandingkan dengan dirinya

// sendiri maka akan

// memberikan nilai return

// true.

if (o == this

{return true;} 

 

// Perika jika o adalah

// instance dari Complex atau

// tidak "null

// instanceof[type]" juga

// return false.

if (!(o instanceof Complex)) 

{return false;} 

  

// Typecast o untuk Complex

// sehingga bisa dilakukan

// perbandingan anggota

// datanya.

Complex c = (Complex) o; 

  

// Membandingkan anggota data

// dan return yang sesuai.

return Double.compare(re, c.re) == 0 && Double.compare(im, c.im) == 0;} 

 

// Driver class untuk test

// Complex class.

public class Main 

{

 

public static void main(String[] args

Complex c1 = new Complex(10, 15); 

Complex c2 = new Complex(10, 15); 

if (c1.equals(c2)) 

{System.out.println("Sama ");} 

else 

{System.out.println("Tidak"

+" Sama ");} 

}

 

}

Output:
Sama


Baca juga, tentang materi bahasa pemrograman lainnya melalui Materi Lengkap 

Bahasa Pemrograman [klik].


Sebagai catatan, ketika overriding equals(), juga direkomendasikan untuk melakukan overriding method hashCode(). Jika hal tersebut tidak dilakukan, maka object yang bernilai sama mungkin akan mendapat nilai hash yang berbeda, begitupun juga nilai hash berbasis collection, termasuk HashMapHashSet, dan HashTable tidak akan bekerja optimal.

Komentar

  1. Apa fungsi equal() pada Java?

    BalasHapus
    Balasan
    1. Untuk membandingkan dua object pada Java, class object menyediakan method dengan nama yang sama dengan equal(). Method tersebut menerima object dan membandingkannya dengan object yang ada saat ini. Jika nilai kedua referensi object tersebut adalah sama, maka akan mengembalikan nilai return TRUE dan jika tidak maka akan mengembalikan nilai reuturn FALSE.

      Hapus
  2. Apa yang dimaksud dengan operator "==" atau operator persamaan pada Java?

    BalasHapus
    Balasan
    1. Tanda "==" atau operator persamaan pada Java adalah operator biner yang disediakan oleh bahasa pemrograman Java yang digunakan untuk melakukan perbandingan data primitif atau object. Jadi, operator "==" akan mengembalikan nilai TRUE jika nilai dari dua referensi object yang dibandingkan adalah mewakili nilai object yang sama persis atau senilai, jika sebaliknya maka akan mengembalikan nilai FALSE.

      Hapus
  3. Apakah dapat dilakukan overriding equal method pada Java?

    BalasHapus
    Balasan
    1. Dapat dilakukan overiding method yang sama dengan class untuk memeriksa apakah dua object memiliki data yang sama atau tidak dalam bahasa pemrograman Java.

      Catatan: ketika dilakukan penggantian equal(), maka disarankan untuk mengganti method hashCode().

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Enkapsulasi pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C

Penjelasan Singkat tentang Konsep Asosiasi, Komposisi, dan Agregasi pada Java

3 Jenis Utama Looping pada Java