Функция requireNotNull
Функция requireNotNull проверяет, что переданное значение не равно null.
Если значение не null, функция возвращает это значение.
Если значение null, функция выбрасывает исключение IllegalArgumentException.
Во второй параметр можно передать лямбда-функцию для создания кастомного сообщения об ошибке.
Импорт
kotlinimport kotlin.requireNotNull
Синтаксис
kotlininline fun <T : Any> requireNotNull(value: T?): T
kotlininline fun <T : Any> requireNotNull(value: T?, lazyMessage: () -> Any): T
Пример
Проверим, что переменная name не равна null:
kotlinval name: String? = "John"
val res: String = requireNotNull(name)
println(res)
Результат выполнения кода:
kotlinString "John"
Пример
Проверим переменную со значением null:
kotlinval name: String? = null
val res: String = requireNotNull(name)
println(res)
Результат выполнения кода:
kotlinIllegalArgumentException: Required value was null.
Пример
Использование кастомного сообщения об ошибке:
kotlinval age: Int? = null
val res: Int = requireNotNull(age) { "Age must not be null" }
println(res)
Результат выполнения кода:
kotlinIllegalArgumentException: Age must not be null
Пример
Использование с числами:
kotlinval price: Double? = 99.99
val res: Double = requireNotNull(price)
println("Price: $$res")
Результат выполнения кода:
kotlinPrice: .99
Пример
Использование с массивами:
kotlinval numbers: Array<Int>? = arrayOf(1, 2, 3, 4, 5)
val res: Array<Int> = requireNotNull(numbers)
println(res.contentToString())
Результат выполнения кода:
kotlinArray<Int> [1, 2, 3, 4, 5]
Смотрите также
-
функцию
checkNotNull,
которая выбрасывает IllegalStateException вместо IllegalArgumentException -
функцию
assertNotNull,
которая используется для тестирования и работает только при включенных assertions -
функцию
require,
которая проверяет выполнение условия и выбрасывает IllegalArgumentException