Was ist der 'spread'-Operator in Kotlin und wie wird er verwendet?
sobes.tech KI
Antwort von AI
Der 'spread'-Operator in Kotlin entspricht dem Präfix * vor einem Array oder einem verstreuten Array (vararg). Er wird verwendet, um die Elemente dieser Sammlung an eine Funktion zu übergeben, die eine variable Anzahl von Argumenten (vararg) erwartet. Im Wesentlichen "entfaltet" (spread) er die Sammlung in einzelne Argumente.
Beispiel für die Verwendung:
fun printNumbers(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
fun main() {
val intArray = intArrayOf(1, 2, 3)
printNumbers(*intArray) // Verwendung des spread-Operators
}
Ohne den Operator * würde der Versuch, intArray an die Funktion printNumbers zu übergeben, zu einem Kompilierungsfehler führen, da printNumbers eine variable Anzahl von Int erwartet, nicht ein Array von Int.
Der 'spread'-Operator kann auch beim Erstellen eines neuen Arrays verwendet werden, indem ein bestehendes Array mit einzelnen Elementen oder anderen Arrays kombiniert wird:
fun main() {
val array1 = arrayOf(1, 2)
val array2 = arrayOf(3, 4)
val combinedArray = arrayOf(*array1, 5, *array2) // Verwendung des spread-Operators
println(combinedArray.contentToString()) // Gibt [1, 2, 5, 3, 4] aus
}
Wichtige Punkte:
- Wird nur auf Arrays (
Array, primitive Arrays) undVarargangewendet. - Entfaltet die Elemente der Sammlung in einzelne Argumente einer Funktion oder in Elemente eines neuen Arrays.
- Wird mit dem Präfix
*gekennzeichnet.