Avatar ·

IntArray vs Array<Int> en Kotlin: cuál es la diferencia y qué elegir?

¡Hola, colegas! Empecé a estudiar Kotlin y me encontré con una confusión: en el lenguaje hay dos tipos para trabajar con arrays de números enteros — IntArray y Array. A primera vista son similares, pero el compilador se queja cuando intento mezclarlos. Aquí hay un ejemplo que me confundió: ```kotlin val arr1: IntArray = intArrayOf(1, 2, 3) val arr2: Array = arrayOf(1, 2, 3) // Intento asignar uno al otro — ¡error! // arr1 = arr2 // Type mismatch ``` ¿Por qué pasa esto? Ambos almacenan números enteros. Leí que IntArray es un tipo primitivo, mientras que Array es un tipo de referencia, pero no entiendo cómo esto afecta el rendimiento y cuándo usar cada uno. También noté que tienen métodos diferentes. Por ejemplo, IntArray tiene sum() y average() directamente, mientras que Array necesita escribir .map { it.toDouble() }. ¿Por qué es así? Y otra pregunta: si escribo una función que acepta un array de números, ¿qué tipo debo elegir para que funcione tanto con IntArray como con Array? Intenté usar List — funciona, pero