Функция 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