Junior
O que é o operador 'spread' em Kotlin e como usá-lo?
sobes.tech IA
Resposta da IA
O operador 'spread' em Kotlin corresponde ao prefixo * antes de um array ou array disperso (vararg). É usado para passar os elementos dessa coleção para uma função que espera um número variável de argumentos (vararg). Basicamente, ele "espalha" (spread) a coleção em argumentos separados.
Exemplo de uso:
fun printNumbers(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
fun main() {
val intArray = intArrayOf(1, 2, 3)
printNumbers(*intArray) // Uso do operador spread
}
Sem o operador *, tentar passar intArray para a função printNumbers resultaria num erro de compilação, pois printNumbers espera um número variável de Int, não um array de Int.
O operador 'spread' também pode ser usado ao criar um novo array combinando um array existente com elementos individuais ou outros arrays:
fun main() {
val array1 = arrayOf(1, 2)
val array2 = arrayOf(3, 4)
val combinedArray = arrayOf(*array1, 5, *array2) // Uso do operador spread
println(combinedArray.contentToString()) // Vai mostrar [1, 2, 5, 3, 4]
}
Pontos principais:
- Aplica-se apenas a arrays (
Array, arrays primitivos) eVararg. - Espalha os elementos da coleção em argumentos separados de uma função ou elementos de um novo array.
- É indicado pelo prefixo
*.