Sobes.tech
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.