O que é null/nil em Kotlin e como trabalhar com isso?
Olá a todos! Comecei a estudar Kotlin depois de Java e não consigo entender completamente o conceito de null nesta linguagem. Em Java, null é uma referência comum que pode ser atribuída a qualquer objeto, e estamos constantemente lutando contra NullPointerException. Em Kotlin, pelo que entendi, os tipos são non-null por padrão, e para trabalhar com null é necessário usar construções especiais.
Tenho algumas perguntas e problemas específicos:
- Estou correto ao entender que
String?(com ponto de interrogação) é um tipo nullable, eStringé non-null? E se eu tentar atribuir null a uma variável do tipoStringsem o ponto de interrogação, ocorrerá um erro de compilação? - Tentei escrever um código simples, mas ele não compila:
fun main() {
val name: String? = null
println(name.length) // Erro: Only safe (?.) or non-null asserted (!!.) calls are allowed
}Eu esperava que uma exceção fosse lançada em tempo de execução, como em Java.
No answers yet.
Faça login para deixar uma resposta