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