Junior — Middle
Prečo sa v Jave odporúča používať metódu equals namiesto operátora == na porovnávanie objektov?
sobes.tech AI
Odpoveď od AI
V Jave operátor == porovnáva referencie na objekty, teda kontroluje, či dve premenne ukazujú na ten istý objekt v pamäti. Metóda equals() je určená na porovnanie obsahu objektov, teda ich logickú rovnosť.
Napríklad, pre dva rôzne String objekty s rovnakým textom, == vráti false, a equals() — true:
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, rovnaký obsah
Preto sa odporúča používať equals() na overenie rovnosti hodnôt objektov, aby sa porovnával obsah, nie referencie.