Junior — Middle
Java-da obyektləri müqayisə edərkən equals metodunun istifadəsi ilə == operatoru arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da == operatoru obyektlərin referanslarını müqayisə edir, yəni iki dəyişənin eyni yaddaş obyektinə işarə etdiyini yoxlayır. equals() metodu isə obyektlərin məzmununu, yəni məntiqi bərabərliyini müqayisə etmək üçün nəzərdə tutulub.
Məsələn, sətirlər üçün:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, fərqli obyektlər
System.out.println(a.equals(b)); // true, eyni məzmun
Vacib: sinif equals() metodunu yenidən təyin etməlidir ki, məzmun üzrə müqayisə düzgün işləsin. Əgər equals() yenidən təyin edilməyibsə, o, standart olaraq == kimi davranır (referansları müqayisə edir).