См. https://kotlinlang.org/docs/reference/null-safety.html
Вы должны использовать оператор безопасного вызова, записанный ?.
Чтобы выполнить определенную операцию только для ненулевых значений, вы можете использоватьоператор безопасного вызова вместе с let:
val listWithNulls: List<String?> = listOf("Kotlin", null)
for (item in listWithNulls) {
item?.let { println(it) } // prints A and ignores null
}
Другие опции:
В качестве второго варианта вы можете использовать оператор !! - (используйте с осторожностью, он будетбросить NPE, если он нулевой)
val myNewNullableInt: Int? =6
myNewNullableInt!!.let{ //throws if myNewNullableInt == null
printAnInteger(it)
}
Поскольку вы используете неизменяемый val
, вы также можете использовать `if (myNewNullableInt! = null).Kotlin распознает нулевую проверку и автоматически приводит к типу, не допускающему обнуления.Вы можете увидеть смарт-бросок по зеленой маркировке AndroidStudio или Idea.
val myNewNullableInt: Int? =6
if(myNewNullableInt != null) {
printAnInteger(myNewNullableInt )
}