Junior — Middle
Hogyan valósul meg a Java-ban az objektumok egyenlőség szerinti összehasonlítása a == operátor segítségével?
sobes.tech MI
Válasz az MI-től
Java-ban az == operátor objektumok összehasonlításakor ellenőrzi, hogy mindkét változó ugyanarra az objektumra mutat-e a memóriában, azaz a hivatkozásokat hasonlítja össze, nem az objektumok tartalmát.
Ha az objektumok tartalmát szeretnéd összehasonlítani, akkor a equals() metódust használod, amely felülírható a osztályban az összehasonlási logika meghatározásához.
Példa:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, külön objektumok
System.out.println(a.equals(b)); // true, tartalom egyezik
Így az == operátor az objektumok esetében a hivatkozások egyenlőségét ellenőrzi, nem az értékeket.