2 ответов:
это небезопасный тип с нулевым значением (
T?) преобразование в ненулевой тип (T). Он будет бросатьNullPointerException, если значениеnull.это документально здесь вместе с Котлин средствами нулевой безопасности.
вот пример для наглядности. Скажем, у вас есть эта функция
fun main(args: Array<String>) { var email: String email = null println(email) }это приведет к следующей ошибке компиляции.
Null can not be a value of a non-null type Stringтеперь вы можете предотвратить это, добавив вопросительный знак в
Stringвведите, чтобы сделать его недействительным.у нас есть
fun main(args: Array<String>) { var email: String? email = null println(email) }это дает результат
nullтеперь, если мы хотим, чтобы функция выдавала исключение, когда значение электронной почты равно null, мы можем добавить два восклицания в конце письма. Вот так
fun main(args: Array<String>) { var email: String? email = null println(email!!) }это будет бросать
KotlinNullPointerException
Comments