Program Overriding Method Equal Java dan Fungsinya
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;}
}
// 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 ");}
}
}
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 ");}
}
}
Apa fungsi equal() pada Java?
BalasHapusUntuk 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.
HapusApa yang dimaksud dengan operator "==" atau operator persamaan pada Java?
BalasHapusTanda "==" 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.
HapusApakah dapat dilakukan overriding equal method pada Java?
BalasHapusDapat dilakukan overiding method yang sama dengan class untuk memeriksa apakah dua object memiliki data yang sama atau tidak dalam bahasa pemrograman Java.
HapusCatatan: ketika dilakukan penggantian equal(), maka disarankan untuk mengganti method hashCode().