Sobes.tech
Junior

Kotlin'de 'spread' operatörü nedir ve nasıl kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de 'spread' operatörü, bir dizi veya yayılmış dizi (vararg) önünde bulunan * öneki ile karşılık gelir. Bu, bu koleksiyonun öğelerini, değişken sayıda argüman bekleyen bir fonksiyona (vararg) iletmek için kullanılır. Temelde, koleksiyonu ayrı argümanlara "yayar" (spread).

Kullanım örneği:

fun printNumbers(vararg numbers: Int) {
    for (number in numbers) {
        println(number)
    }
}

fun main() {
    val intArray = intArrayOf(1, 2, 3)
    printNumbers(*intArray) // spread operatörünün kullanımı
}

* operatörü olmadan, intArray'yi printNumbers fonksiyonuna geçirmeye çalışmak derleme hatasına yol açardı, çünkü printNumbers değişken sayıda Int bekler, bir Int dizisi değil.

'spread' operatörü, mevcut bir diziyi yeni bir dizi oluştururken, başka dizilerle veya tekil öğelerle birleştirirken de kullanılabilir:

fun main() {
    val array1 = arrayOf(1, 2)
    val array2 = arrayOf(3, 4)
    val combinedArray = arrayOf(*array1, 5, *array2) // spread operatörünün kullanımı
    println(combinedArray.contentToString()) // [1, 2, 5, 3, 4] yazdırır
}

Ana noktalar:

  • Sadece dizilere (Array, temel diziler) ve Vararg'a uygulanır.
  • Koleksiyonun öğelerini, fonksiyonlara ayrı argümanlar veya yeni bir dizinin öğeleri olarak yayar.
  • * öneki ile gösterilir.