Sobes.tech
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.