الدالة Any.hashCode() في لغة Kotlin
يعيد التابع hashCode()
قيمة التكويد (hash code) الخاص بالكائن الذي استُدعي عبره. يحقق التابع hashCode()
دائمًا الشرطين التاليين:
- سيعيد نفس العدد الصحيح في كل مرة تُستدعى على كائن معين شريطة عدم تغيير أي معلومة تستخدمها الدالة
equals()
لأجل المقارنة بالكائن. - إذا تساوى كائنان بحسب الدالة
equals()
، فينبغي أن ينتج استدعاء التابعhashCode()
على كلٍّ من الكائنين نفس العدد الصحيح.
البنية العامة
open fun hashCode(): Int
يلاحظ استخدام الكلمة open
التي تسمح بتعديل هذه الدالة في الأصناف الوارثة.
القيم المعادة
قيمة من النوع Int
(عدد صحيح) تمثل تكويد الكائن (hash code).
أمثلة
استخدام الدالة hashCode()
تعرف الشيفرة التالية متغيرًا من نوع السلاسل النصية (String
) ثم تستخدم التابع hashCode()
لاستخراج تكويد تلك السلسة النصية وطباعتها، ثم تُعرّف عددًا x وتفعل معه نفس الشيء:
fun main(args: Array<String>) {
var a: String = "hsoub"
var hach_a = a.hashCode()
println(" $hach_a") // 99582545
var x = 54
var hach_x = x.hashCode()
println(" $hach_x") //54
}
انظر أيضًا
equals()
: تبين ما إذا كان الكائن الذي استدعاها يساوي كائنًا آخر.