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