تخطَّ إلى المحتوى

🟣 شرح Kotlin

الأنواع العامّة (Generics)

الدرس 22 من 25· ⏱ 1 دقائق قراءة

دالة عامّة

fun <T> firstOrNull(list: List<T>): T? {
    return if (list.isEmpty()) null else list[0]
}

println(firstOrNull(listOf(1, 2, 3)))   // 1
println(firstOrNull(listOf("a", "b")))  // a

<T> نوع نائب يُحدَّد عند الاستدعاء.

صنف عامّ

class Box<T>(val value: T) {
    fun get(): T = value
}

val intBox = Box(42)
val strBox = Box("نص")
println(intBox.get())

قيود الأنواع

fun <T : Comparable<T>> max(a: T, b: T): T {
    return if (a > b) a else b
}

println(max(3, 7))        // 7
println(max("a", "z"))    // z

<T : Comparable<T>> يقيّد T للأنواع القابلة للمقارنة.

💡 Generics تتيح كودًا قابلًا لإعادة الاستخدام وآمن النوع — أساس المجموعات في Kotlin.

🎯 التالي: الكوروتينات (Coroutines).

هل كان هذا الدرس مفيدًا؟