الدالة orEmpty()‎ في Kotlin

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 09:29، 8 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تعيد الدالة orEmpty()‎ المصفوفة أو المجموعة أو القائمة أو الخريطة التي استُدعيت معها إن لم تكن مساويةً للقيمة null، أو تعيد كائنًا فارغًا يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.

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

يمكن استدعاء الدالة orEmpty()‎ مع المصفوفات والمجموعات والقوائم والخرائط والمجموعات التي من النوع Set:

inline fun <reified T> Array<out T>?.orEmpty(): Array<out T> 

inline fun <T> Collection<T>?.orEmpty(): Collection<T> 

inline fun <T> List<T>?.orEmpty(): List<T> 

inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)

inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)

وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).

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

تُعاد المصفوفة أو المجموعة أو القائمة أو الخريطة المعطاة إن لم تكن مساويةً للقيمة null، أو يُعاد كائن فارغ يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.

أمثلة

التأكد من عدم تساوي المصفوفة مع القيمة null:

fun main(args: Array<String>) {
    val array1: Array<Any>? = null
    val array2: Array<Char>? = arrayOf('a', 'b', 'c')

    println(array1.orEmpty().contentToString()) // []
    println(array2.orEmpty().contentToString()) // [a, b, c]
}

انظر أيضًا

  • الدالة none()‎: تتحقق إن كانت المصفوفة أو المجموعة أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين.
  • الدالة isNotEmpty(): تعيد القيمة true إن كانت المصفوفة التي استُدعيت عبرها غير فارغةً.
  • الدالة isArrayOf()‎: تتحقق من حواية المصفوفة التي استُدعيت معها عناصرَ من نوعٍ محدَّد.
  • الخاصية ‎‎Array.size: تعبِّر عن عدد العناصر الموجودة في المصفوفة.

مصادر