التابع Enum.clone()‎ في لغة Kotlin

من موسوعة حسوب
< Kotlin‏ | Enum
مراجعة 10:10، 4 يوليو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع Enum.clone()‎ في لغة Kotlin}}</noinclude> تبين الدالة <code>clone()</code>‎ إذا ما كان الكائن ا...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تبين الدالة clone()‎ إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت عبره. وأيُّ تعريف لاستخدام هذه الدالة يجب أن يكون:

البنية العامة

fun equals(other: Any?): Boolean

القيم المعادة

القيمة المنطقية true إن كان الكائن المُمرّر للدالة يساوي الكائن الذي استدعيت عبره، أو false خلاف ذلك.

أمثلة

في الشيفرة الآتية ننشئ صنفين من النوع Enum باسم ColorEnum و ColorEnum2 مكونين من أربعة مركّبات  RED  و BLUE  و GREEN  و ORANGE، ثم ننشئ متغيرين x و y يحتويان القيمة RED لكلا الصنفين، ثم نستدعي الدالة equals()‎عبر x و y ثم نطبع الناتج:

fun main(args: Array<String>) {
    val x = ColorEnum.Red
    val y = ColorEnum2.Red
    
    print(x.equals(y)) // false
    print(x.equals(x)) // true

}

enum class ColorEnum(val colorCode: Int) 
{
     Red(2),
     Blue(11212),
     Green(21212),
     Orange(212121)
 }

enum class ColorEnum2(val colorCode: Int) 
{
     Red(2),
     Blue(11212),
     Green(21212),
     Orange(212121)
 }

انظر أيضًا

  • الخاصيّة ordinal: تعيد ترتيب مُركّبة الكائن enum الذي استُدعيت عبره، أي ترتيبها في تصريح الكائن enum، بحيث تأخذ المُركّبة الأولى العدد 0
  • الخاصيّة name:تعيد اسم مُركّبة الكائن enum الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. 

مصادر