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