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

من موسوعة حسوب
مراجعة 07:37، 8 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تنسخ الدالة copyOf()‎ كامل المصفوفة التي استُدعيت معها أو جزءًا منها.  

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

inline fun <T> Array<T>.copyOf(): Array<T> 
inline fun ByteArray.copyOf(): ByteArray 
inline fun ShortArray.copyOf(): ShortArray 
inline fun IntArray.copyOf(): IntArray 
inline fun LongArray.copyOf(): LongArray 
inline fun FloatArray.copyOf(): FloatArray 
inline fun DoubleArray.copyOf(): DoubleArray 
inline fun BooleanArray.copyOf(): BooleanArray
inline fun CharArray.copyOf(): CharArray
inline fun ByteArray.copyOf(newSize: Int): ByteArray 
inline fun ShortArray.copyOf(newSize: Int): ShortArray 
inline fun IntArray.copyOf(newSize: Int): IntArray 
inline fun LongArray.copyOf(newSize: Int): LongArray 
inline fun FloatArray.copyOf(newSize: Int): FloatArray 
inline fun DoubleArray.copyOf(newSize: Int): DoubleArray 
inline fun BooleanArray.copyOf(newSize: Int): BooleanArray 
inline fun CharArray.copyOf(newSize: Int): CharArray 
inline fun <T> Array<T>.copyOf(newSize: Int): Array<T?>

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

المعاملات

newSize

عدد صحيح يمثل الحجم الجديد للمصفوفة المراد نسخها.

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

يُعاد نسخةٌ جديدةٌ لكامل المصفوفة التي استدعيت الدالة معها، أو لجزء محدَّد منها إن أعطي المعامل newSize.

أمثلة

استخدام الدالة ()copyOf مع المصفوفات:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4)
    val array2 = array.copyOf()

    println(array2.contentToString()) // [1, 2, 3, 4]
}

استخدام الدالة ()copyOf مع المصفوفات مع تحديد العناصر المراد نسخها:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4)
    val array2 = array.copyOf(2)

    println(array2.contentToString()) // [1, 2]
}

انظر أيضًا

مصادر