Функция assertNotNull
Функция assertNotNull проверяет, что переданное значение
не равно null. Если значение не null, функция
возвращает это значение. Если значение равно null,
функция выбрасывает исключение IllegalStateException.
Функция полезна для проверки nullable-переменных
и безопасного приведения их к non-null типам.
Импорт
kotlinimport kotlin.test.assertNotNull
Синтаксис
kotlinfun <T : Any> assertNotNull(actual: T?, message: String? = null): T
Параметры
actual - проверяемое значение, которое может быть null.
message - необязательное сообщение, которое будет
включено в исключение, если проверка не пройдена.
Возвращаемое значение
Возвращает то же значение, что было передано в параметр actual,
но с типом T вместо T?.
Пример
Проверим не-null строку:
kotlinval nullableString: String? = "abcde"
val nonNullString: String = assertNotNull(nullableString)
println(nonNullString)
Результат выполнения кода:
kotlinString "abcde"
Пример
Проверим не-null число:
kotlinval nullableNumber: Int? = 123
val nonNullNumber: Int = assertNotNull(nullableNumber)
println(nonNullNumber)
Результат выполнения кода:
kotlinInt 123
Пример
Проверим null значение с кастомным сообщением:
kotlinval nullValue: String? = null
try {
val result: String = assertNotNull(nullValue, "Value should not be null")
println(result)
} catch (e: IllegalStateException) {
println(e.message)
}
Результат выполнения кода:
kotlinValue should not be null
Пример
Использование assertNotNull с массивами:
kotlinval nullableArray: Array<Int>? = arrayOf(1, 2, 3, 4, 5)
val nonNullArray: Array<Int> = assertNotNull(nullableArray)
println(nonNullArray.contentToString())
Результат выполнения кода:
kotlinArray<Int> [1, 2, 3, 4, 5]
Смотрите также
-
функцию
requireNotNull,
которая выполняет аналогичную проверку с исключениемIllegalArgumentException -
функцию
checkNotNull,
которая выполняет проверку с исключениемIllegalStateException -
функцию
assert,
которая проверяет булево условие и выбрасывает исключение, если оно ложно