Junior — Middle
Ինչպե՞ս որոշել, որ երկու օբյեկտներ հղում են անում նույն օրինակին հիշողության մեջ։
sobes.tech AI
Պատասխան AI-ից
Android (Java/Kotlin) միջավայրում, երկու օբյեկտների հիշողության մեջ նույն օրինակին հղում է ստուգելու համար, օգտագործվում է == օպերատորը (Kotlin-ում) կամ == օպերատորը Java-ում հղման ստուգման համար (Java-ում == օգտագործվում է հղման ստուգման համար, իսկ equals() մեթոդը՝ բովանդակության համեմատության համար):
Kotlin-ում օրինակ:
val obj1 = SomeClass()
val obj2 = obj1
val obj3 = SomeClass()
println(obj1 == obj2) // ճշմարիտ, քանի որ հղումները նույնն են
println(obj1 == obj3) // սխալ, տարբեր օրինակներ
Java-ում:
SomeClass obj1 = new SomeClass();
SomeClass obj2 = obj1;
SomeClass obj3 = new SomeClass();
System.out.println(obj1 == obj2); // ճշմարիտ
System.out.println(obj1 == obj3); // սխալ
Այսպիսով, == օպերատորը համեմատում է հղումները, իսկ equals() մեթոդը՝ օբյեկտների բովանդակությունը։