Junior
¿Qué es el operador 'spread' en Kotlin y cómo se usa?
sobes.tech AI
Respuesta de la IA
El operador 'spread' en Kotlin corresponde al prefijo * antes de un array o array disperso (vararg). Se usa para pasar los elementos de esa colección a una función que espera un número variable de argumentos (vararg). Esencialmente, "extiende" (spread) la colección en argumentos separados.
Ejemplo de uso:
fun printNumbers(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
fun main() {
val intArray = intArrayOf(1, 2, 3)
printNumbers(*intArray) // Uso del operador spread
}
Sin el operador *, intentar pasar intArray a la función printNumbers resultaría en un error de compilación, ya que printNumbers espera un número variable de Int, no un array de Int.
El operador 'spread' también se puede usar al crear un nuevo array combinando un array existente con elementos individuales u otros arrays:
fun main() {
val array1 = arrayOf(1, 2)
val array2 = arrayOf(3, 4)
val combinedArray = arrayOf(*array1, 5, *array2) // Uso del operador spread
println(combinedArray.contentToString()) // Mostrará [1, 2, 5, 3, 4]
}
Puntos clave:
- Solo se aplica a arrays (
Array, arrays primitivos) yVararg. - Extiende los elementos de la colección en argumentos separados de una función o en elementos de un nuevo array.
- Se indica con el prefijo
*.