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).