Junior — Middle
Kuo skiriasi equals metodo naudojimas nuo == operatoriaus naudojimo lyginant objektus Java?
sobes.tech AI
Atsakymas iš AI
Java kalboje operatorius == lygina nuorodas į objektus, tai yra, tikrina, ar dvi kintamosios nurodo į tą patį objektą atmintyje. Metodas equals() skirtas objekto turinio palyginimui, tai yra, jų loginiai lygumai.
Pavyzdžiui, eilutėms:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // klaidinga, skirtingi objektai
System.out.println(a.equals(b)); // teisinga, tas pats turinys
Svarbu: klasė turi perrašyti equals() metodą, kad turinio palyginimas veiktų teisingai. Jei equals() nėra perrašytas, jis pagal numatytuosius veiksmus elgsis kaip == (lygins nuorodas).