Junior — Middle
Zašto se u Javi preporučuje korišćenje metode equals umesto operatora == za poređenje objekata?
sobes.tech АИ
Одговор од АИ
U Javi, operator == poredi reference na objekte, što znači da proverava da li dve promenljive ukazuju na isti objekat u memoriji. Metod equals() je namenjen za poređenje sadržaja objekata, odnosno njihove logičke jednakosti.
Na primer, za dva različita String objekta sa istim tekstom, == će vratiti false, a equals() — true:
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
Zbog toga se preporučuje korišćenje equals() za proveru jednakosti vrednosti objekata, da bi se uporedio sadržaj, a ne reference.