В чем разница между IntArray и Array

«В чем разница между IntArray и Array» — вопрос из категории Kotlin, который задают на 26% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

IntArray — это специализированный массив примитивов int, более эффективный по памяти и производительности. Array<Int> — это массив объектов Integer, которые требуют автоупаковки/распаковки и занимают больше памяти.

Пример:

val intArray: IntArray = intArrayOf(1, 2, 3) // Примитивы (int[])  
val arrayInt: Array<Int> = arrayOf(1, 2, 3)  // Объекты (Integer[])  

Различия:

  • IntArray лучше для производительности.
  • Array<Int> поддерживает nullable (Array<Int?>), IntArray — нет.
  • Array<Int> совместим с Java-кодом, ожидающим Integer[].