Wat is de 'spread' operator in Kotlin en hoe gebruik je deze?
sobes.tech AI
Antwoord van AI
De 'spread'-operator in Kotlin komt overeen met het prefix * vóór een array of verspreide array (vararg). Het wordt gebruikt om de elementen van die collectie door te geven aan een functie die een variabel aantal argumenten (vararg) verwacht. In wezen 'spreidt' het (spread) de collectie uit in afzonderlijke argumenten.
Voorbeeld van gebruik:
fun printNumbers(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
fun main() {
val intArray = intArrayOf(1, 2, 3)
printNumbers(*intArray) // Gebruik van de spread-operator
}
Zonder de operator *, zou het proberen om intArray door te geven aan de functie printNumbers leiden tot een compilatiefout, omdat printNumbers een variabel aantal Int verwacht, niet een array van Int.
De 'spread'-operator kan ook worden gebruikt bij het maken van een nieuwe array door een bestaande array te combineren met afzonderlijke elementen of andere arrays:
fun main() {
val array1 = arrayOf(1, 2)
val array2 = arrayOf(3, 4)
val combinedArray = arrayOf(*array1, 5, *array2) // Gebruik van de spread-operator
println(combinedArray.contentToString()) // Toont [1, 2, 5, 3, 4]
}
Belangrijke punten:
- Alleen van toepassing op arrays (
Array, primitieve arrays) enVararg. - Spreidt de elementen van de collectie uit in afzonderlijke argumenten van een functie of elementen van een nieuwe array.
- Wordt aangegeven met het prefix
*.