НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
95 of 1310 menu

Функция 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,
    которая преобразует массив в список
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить