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