почему
В Kotlin есть множество операторов для работы с нулями, поэтому вот краткое описание.
https://play.kotlinlang.org/
Я опробовал его, запустив здесь
Нормальное выполнение
val maybeNullValue = null
println(maybeNullValue)
// null
При обычной печати возвращается null
Если null возвращается с помощью nullableValue! возвращает null, или возвращает ошибку nullable.
https://engawapg.net/kotlin/116/what-is-kotlin-exclamation-mark/
val nullableValue = null
println(nullableValue!!)
// Overload resolution ambiguity
// 多分ぬるぽ
Оператор, который разрушается при использовании на значении, содержащем null.
Думаю, его можно использовать в ситуациях, когда это будет ошибкой, но это лучше, чем перечеркнуть нуль.
Может использоваться, когда вы хотите вставить ненулевое значение в нулевой тип.
Если nullableValue?:»» возвращает null, возвращается пустая строка.
val maybeNullValue = null
println(maybeNullValue?:"empty")
// empty
Войдите в полноэкранный режим Если оно равно null, вы можете использовать «Enter fullscreen mode :» для ввода следующего значения.
Во многих случаях будет введена пустая строка.
(Для простоты образец содержит строку «пусто»).
Это безопасно и легко написать.
Запишите процесс в nullableValue?.let { }, чтобы он не выполнялся, когда значение равно null.
https://www.tutorialspoint.com/best-way-to-null-check-in-kotlin#:~:text=let%22%20оператор,a%20non%2DNULL%20able%20значение.
nullableValue?.let { // execute(nullableValue) }
Таким образом, если null не присутствует, он будет пропущен.
val nullableValue = "text"
nullableValue ?.let {
println(nullableValue)
}
println("executed")
//text
//executed
Если вы вводите текст, он печатается, но
val nullableValue = null
nullableValue ?.let {
println(nullableValue)
}
println("executed")
//
//executed
Если введен null, то он пропускается.
Легко написать одним словом.