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