Sobes.tech
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() — ობიექტების შიგთავსს.