Junior — Middle
Koja je razlika između korišćenja metode equals i operatora == pri poređenju objekata u Javi?
sobes.tech АИ
Одговор од АИ
U Javi, operator == poredi reference na objekte, tj. proverava da li dve promenljive ukazuju na isti objekat u memoriji. Metoda equals() je namenjena za poređenje sadržaja objekata, tj. njihove logičke jednakosti.
Na primer, za stringove:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, različiti objekti
System.out.println(a.equals(b)); // true, isti sadržaj
Važno: klasa treba da redefiniše metodu equals() kako bi poređenje po sadržaju radilo ispravno. Ako equals() nije redefinisana, ponaša se podrazumevano kao == (upoređuje reference).