Sobes.tech
Junior — Middle

Care este diferența dintre utilizarea metodei equals și operatorul == atunci când compari obiecte în Java?

sobes.tech AI

Răspuns de la AI

În Java, operatorul == compară referințele către obiecte, adică verifică dacă două variabile indică același obiect în memorie. Metoda equals() este destinată să compare conținutul obiectelor, adică egalitatea lor logică.

De exemplu, pentru șiruri:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, obiecte diferite
System.out.println(a.equals(b));  // true, conținut identic

Important: clasa trebuie să redefinească metoda equals() pentru ca comparația pe conținut să funcționeze corect. Dacă equals() nu este redefinit, se comportă implicit ca == (compară referințele).