Sobes.tech
Junior — Middle

Ako je v Jave realizované porovnanie objektov na rovnosť pomocou operátora ==?

sobes.tech AI

Odpoveď od AI

V Jave kontroluje operátor == pri porovnaní objektov, či obe premenne odkazujú na ten istý objekt v pamäti, teda porovnáva referencie a nie obsah objektov.

Ak chcete porovnať obsah objektov, použite metódu equals(), ktorú je možné prepísať v triede na definovanie logiky porovnávania.

Príklad:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, rôzne objekty
System.out.println(a.equals(b));  // true, obsah je rovnaký

Takže, operátor == pre objekty kontroluje rovnosť odkazov, nie hodnoty.