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

Функция requireNotNull

Функция requireNotNull проверяет, что переданное значение не равно null. Если значение не null, функция возвращает это значение. Если значение null, функция выбрасывает исключение IllegalArgumentException. Во второй параметр можно передать лямбда-функцию для создания кастомного сообщения об ошибке.

Импорт

import kotlin.requireNotNull

Синтаксис

inline fun <T : Any> requireNotNull(value: T?): T
inline fun <T : Any> requireNotNull(value: T?, lazyMessage: () -> Any): T

Пример

Проверим, что переменная name не равна null:

val name: String? = "John" val res: String = requireNotNull(name) println(res)

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

String "John"

Пример

Проверим переменную со значением null:

val name: String? = null val res: String = requireNotNull(name) println(res)

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

IllegalArgumentException: Required value was null.

Пример

Использование кастомного сообщения об ошибке:

val age: Int? = null val res: Int = requireNotNull(age) { "Age must not be null" } println(res)

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

IllegalArgumentException: Age must not be null

Пример

Использование с числами:

val price: Double? = 99.99 val res: Double = requireNotNull(price) println("Price: $$res")

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

Price: .99

Пример

Использование с массивами:

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

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

Array<Int> [1, 2, 3, 4, 5]

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

  • функцию checkNotNull,
    которая выбрасывает IllegalStateException вместо IllegalArgumentException
  • функцию assertNotNull,
    которая используется для тестирования и работает только при включенных assertions
  • функцию require,
    которая проверяет выполнение условия и выбрасывает IllegalArgumentException
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить