Junior — Middle
Proč se v Javě doporučuje používat metodu equals místo operátoru == pro porovnávání objektů?
sobes.tech AI
Odpověď od AI
V jazyce Java operátor == porovnává odkazy na objekty, což znamená, že kontroluje, zda dvě proměnné odkazují na stejný objekt v paměti. Metoda equals() je určena k porovnání obsahu objektů, tedy jejich logické rovnosti.
Například u dvou různých objektů String se stejným textem, == vrátí false, a equals() — true:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, různé objekty
System.out.println(a.equals(b)); // true, stejný obsah
Proto se doporučuje používat equals() k ověření rovnosti hodnot objektů, aby se porovnával obsah, nikoli odkazy.