Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

273
Vistas
Comprobar si se inicializa una variable lateinit local

La inicialización de variables lateinit de miembros se puede verificar con:

 class MyClass { lateinit var foo: Any ... fun doSomething() { if (::foo.isInitialized) { // Use foo } } }

Sin embargo, esta sintaxis no funciona para las variables lateinit locales. Lint informa el error: "Todavía no se admiten las referencias a variables". Lógicamente, debería haber una manera de hacerlo, ya que las variables lateinit son nulas internamente cuando no se inicializan.

¿Hay alguna forma de verificar si las variables locales están inicializadas?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El código que muestra en su pregunta está realmente bien en Kotlin 1.2 y más allá, ya que foo es una variable de instancia, no una variable local. El mensaje de error que informa y menciona en el comentario de Alexey ( Unsupported [References to variables aren't supported yet] ) puede ser activado por una variable local verdadera, por ejemplo, en el método doSomethingElse a continuación.

 class MyClass { lateinit var foo: Any fun doSomething() { if (::foo.isInitialized) { // this is fine to use in Kotlin 1.2+ // Use foo } } fun doSomethingElse() { lateinit var bar: Any if (::bar.isInitialized) { // this is currently unsupported (see link in Alexey's comment. // Use bar } } }

Así que parece que esto actualmente no es compatible. ¿El único lugar que me viene a la mente donde se usaría un lateinit local sería si el local es una variable capturada en una lambda?

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda