АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
95 of 1310 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция asIntArray

Функция asIntArray преобразует массив чисел типа Int? в массив IntArray. При этом выполняется проверка на null значения и выбрасывается исключение, если в исходном массиве присутствуют null значения.

Импорт

import kotlin.collections.asIntArray

Синтаксис

fun Array<Int?>.asIntArray(): IntArray

Пример

Преобразуем массив чисел типа Int? без null значений в IntArray:

val numbers: Array<Int?> = arrayOf(1, 2, 3, 4, 5) val res: IntArray = numbers.asIntArray() println(res.contentToString())

Результат выполнения кода:

IntArray [1, 2, 3, 4, 5]

Пример

Попробуем преобразовать массив с null значениями:

val numbers: Array<Int?> = arrayOf(1, null, 3, 4, 5) val res: IntArray = numbers.asIntArray() println(res.contentToString())

Результат выполнения кода:

Exception: java.lang.NullPointerException

Пример

Для безопасного преобразования с фильтрацией null значений используйте комбинацию с функцией filterNotNull:

val numbers: Array<Int?> = arrayOf(1, null, 3, null, 5) val notNullNumbers = numbers.filterNotNull().toIntArray() println(notNullNumbers.contentToString())

Результат выполнения кода:

IntArray [1, 3, 5]

Пример

Сравнение производительности asIntArray и toIntArray:

val numbers: Array<Int?> = arrayOf(1, 2, 3, 4, 5) // Быстрое преобразование без проверки null val fastRes = numbers.asIntArray() // Безопасное преобразование с проверкой val safeRes = numbers.toIntArray() println("asIntArray: ${fastRes.contentToString()}") println("toIntArray: ${safeRes.contentToString()}")

Результат выполнения кода:

asIntArray: [1, 2, 3, 4, 5] toIntArray: [1, 2, 3, 4, 5]

Смотрите также

  • функцию toIntArray,
    которая безопасно преобразует массив с null значениями
  • функцию toInt,
    которая преобразует различные типы данных в Int
  • функцию toIntOrNull,
    которая безопасно преобразует строки и другие типы в Int
  • функцию asList,
    которая преобразует массив в список