Sobes.tech
Junior — Middle

Kodėl Java rekomenduojama naudoti metodą equals vietoj operatoriaus == objektų palyginimui?

sobes.tech AI

Atsakymas iš AI

Java kalba operatorius == lygina nuorodas į objektus, tai yra, patikrina, ar dvi kintamosios nurodo į tą patį objektą atmintyje. Metodas equals() skirtas objekto turinio palyginimui, tai yra, jų loginiai lygumai.

Pavyzdžiui, dvi skirtingos String reikšmės su tuo pačiu tekstu, == grąžins false, o equals()true:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, skirtingi objektai
System.out.println(a.equals(b));  // true, tas pats turinys

Todėl, norint patikrinti objektų reikšmių lygybę, rekomenduojama naudoti equals(), kad būtų palygintas būtent turinys, o ne nuorodos.