Junior — Middle
É possível usar uma propriedade com o modificador lateinit em Kotlin, e quais são as vantagens ou desvantagens disso?
sobes.tech IA
Resposta da IA
Em Kotlin, o modificador lateinit é utilizado para inicialização diferida de propriedades, geralmente variáveis do tipo var que não podem ser null, mas que não são inicializadas imediatamente na declaração. Isto é útil, por exemplo, para propriedades que serão inicializadas mais tarde, como no método onCreate no Android.
Vantagens:
- Permite evitar o uso de tipos anuláveis e verificações de null.
- Conveniente para propriedades que não podem ser inicializadas no construtor.
Desvantagens:
- Funciona apenas com tipos que não sejam primitivos (por exemplo, não pode ser usado com
Int,Boolean, etc.). - Se acessar a propriedade antes de sua inicialização, será lançada uma exceção
UninitializedPropertyAccessException.
Exemplo de uso:
class Example {
lateinit var textView: TextView
fun setup() {
textView = TextView()
textView.text = "Hello"
}
}
Assim, lateinit é útil quando você tem certeza de que a propriedade será inicializada antes do primeiro uso, e deseja evitar tipos nullable.