Junior — Middle
Čím se liší použití metody equals od operátoru == při porovnávání objektů v Javě?
sobes.tech AI
Odpověď od AI
V jazyce Java operátor == porovnává odkazy na objekty, tedy 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 řetězců:
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
Důležité: třída by měla přepsat metodu equals(), aby porovnání podle obsahu fungovalo správně. Pokud equals() není přepsáno, chová se ve výchozím nastavení jako == (porovnává odkazy).