Sobes.tech
Junior

Koja je razlika između dvostruke i trostruke jednakosti u Kotlinu, i u koju svrhu je uvedena trostruka jednakost?

sobes.tech АИ

Одговор од АИ

== пореди сравњива садржај објеката (структурна равност), позивајући метод equals(). === пореди референце на објекте (референцијална равност), проверавајући да ли указују на исти пример у меморији.

Тројна равност (===) је уведена за јасно поређење референци, што је корисно за оптимизацију (нпр. избегавање непотребних копија или рачунања ако су објекти идентични) и у случајевима када је потребно тачно знати да ли две променљиве представљају исти пример. У Јави то одговара оператору == за објекте. У Kotlin-у, == је преправљен за поређење садржаја, па је потребан посебан оператор за референцијалну равност.