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.