Melhor maneira de verificar null em Kotlin: comparação com null, chamada segura ou operador elvis?
Olá, colegas! Recentemente comecei a estudar Kotlin depois de Java e me deparei com o problema de escolher a maneira correta de verificar null. Em Kotlin, como entendi, existem muitas abordagens diferentes, e fiquei confuso sobre qual delas é considerada 'best practice'.
Por exemplo, tenho este código:
```kotlin
data class User(val name: String?, val email: String?)
fun printUserName(user: User?) {
// Opção 1: Verificação if
if (user != null) {
println(user.name)
}
// Opção 2: Usando ?.let
user?.let {
println(it.name)
}
// Opção 3: Usando !!
println(user!!.name)
}
```
A primeira opção me parece muito verbosa, a segunda é incomum, e a terceira eu sei que não deve ser usada, pois pode lançar NPE. Mas o que escolher para diferentes situações?
Também vejo frequentemente em código alheio o uso do operador elvis `?:` com `throw` ou `return`. Quando isso é apropriado? E existem recomendações de desempenho para diferentes abordagens?
No answers yet.
Faça login para deixar uma resposta