Junior
Kotlin-də ikiqat və üçqat bərabərliyin fərqi nədir və üçqat bərabərliyin məqsədi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
== obyektlərin məzmununu müqayisə edir (struktur bərabərliyi), equals() metodunu çağıraraq.
=== obyektlərin referanslarını müqayisə edir (referensial bərabərlik), yaddaşda eyni nümunəyə işarə edib etmədiklərini yoxlayır.
Üçlü bərabərlik (===) referansların açıq müqayisəsi üçün təqdim edilmişdir, bu optimallaşdırma üçün faydalıdır (məsələn, obyektlər eynidirsə, lazımsız kopyalar və ya hesablamalardan qaçınmaq) və iki dəyişənin eyni nümunəyə aid olub-olmadığını dəqiq bilmək lazım olduqda. Java-da bu, obyektlər üçün == operatoruna uyğundur. Kotlin-də == məzmunu müqayisə etmək üçün aşırı yüklənmişdir, buna görə referensial bərabərlik üçün ayrıca operator lazımdır.