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