الفرق بين المراجعتين لصفحة: «Kotlin/Any/hashCode»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة Any.hashCode() في لغة Kotlin}}</noinclude> يعيد التابع hashCode() قيمة التكويد (hash code) الخ...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة Any.hashCode() في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة Any.hashCode() في لغة Kotlin}}</noinclude> | ||
يعيد التابع hashCode() قيمة التكويد (hash code) الخاص بالكائن الذي استُدعي عبره. يحقق التابع hashCode() دائمًا الشرطين التاليين: | يعيد التابع <code>hashCode()</code> قيمة التكويد (hash code) الخاص بالكائن الذي استُدعي عبره. يحقق التابع <code>hashCode()</code> دائمًا الشرطين التاليين: | ||
* سيعيد نفس العدد الصحيح في كل مرة تُستدعى على كائن معين شريطة عدم تغيير أي معلومة تستخدمها الدالة equals() لأجل المقارنة بالكائن. | * سيعيد نفس العدد الصحيح في كل مرة تُستدعى على كائن معين شريطة عدم تغيير أي معلومة تستخدمها الدالة <code>[[kotlin/equals|equals()]]</code> لأجل المقارنة بالكائن. | ||
* إذا تساوى كائنان بحسب الدالة equals()، فينبغي أن ينتج استدعاء التابع hashCode() على كلٍّ من الكائنين نفس العدد الصحيح. | * إذا تساوى كائنان بحسب الدالة <code>[[kotlin/equals|equals()]]</code>، فينبغي أن ينتج استدعاء التابع <code>hashCode()</code> على كلٍّ من الكائنين نفس العدد الصحيح. | ||
== البنية العامة == | == البنية العامة == | ||
<syntaxhighlight lang="kotlin"> | |||
open fun hashCode(): Int | open fun hashCode(): Int | ||
</syntaxhighlight>يلاحظ استخدام الكلمة <code>open</code> التي تسمح بتعديل هذه الدالة في الأصناف الوارثة. | |||
يلاحظ استخدام الكلمة open التي تسمح بتعديل هذه الدالة في الأصناف الوارثة. | |||
== القيم المعادة == | == القيم المعادة == | ||
قيمة من النوع Int (عدد صحيح) تمثل تكويد الكائن (hash code). | قيمة من النوع <code>Int</code> (عدد صحيح) تمثل تكويد الكائن (hash code). | ||
== أمثلة == | == أمثلة == | ||
=== استخدام الدالة hashCode() === | === استخدام الدالة <code>hashCode()</code> === | ||
تعرف الشيفرة التالية متغيرًا من نوع السلاسل النصية (String) ثم تستخدم التابع hashCode() لاستخراج تكويد تلك السلسة النصية وطباعتها، ثم تُعرّف عددًا x وتفعل معه نفس الشيء: | تعرف الشيفرة التالية متغيرًا من نوع السلاسل النصية (<code>String</code>) ثم تستخدم التابع <code>hashCode()</code> لاستخراج تكويد تلك السلسة النصية وطباعتها، ثم تُعرّف عددًا x وتفعل معه نفس الشيء:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
var a: String = "hsoub" | var a: String = "hsoub" | ||
var hach_a = a.hashCode() | var hach_a = a.hashCode() | ||
println(" $hach_a") // 99582545 | println(" $hach_a") // 99582545 | ||
var x = 54 | var x = 54 | ||
var hach_x = x.hashCode() | var hach_x = x.hashCode() | ||
println(" $hach_x") //54 | println(" $hach_x") //54 | ||
} | } | ||
</syntaxhighlight> | |||
== انظر أيضًا == | == انظر أيضًا == | ||
* () | * <code>[[kotlin/equals|equals()]]</code>: تبين ما إذا كان الكائن الذي استدعاها يساوي كائنًا آخر. | ||
== مصادر == | == مصادر == | ||
* صفحة التابع hashCode() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin. | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/hash-code.html صفحة التابع hashCode() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Methods]] | [[تصنيف:Kotlin Methods]] |
مراجعة 17:59، 9 مايو 2018
يعيد التابع 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()
: تبين ما إذا كان الكائن الذي استدعاها يساوي كائنًا آخر.