📜  如何在 Kotlin 中检查“lateinit”变量是否已初始化?

📅  最后修改于: 2022-05-13 01:55:31.853000             🧑  作者: Mango

如何在 Kotlin 中检查“lateinit”变量是否已初始化?

在 Kotlin 中, lateinit关键字用于声明后初始化的变量,或者我们可以说后期初始化的变量称为 lateinit 变量。当我们确定变量将在使用之前被初始化时,将使用 lateinit 关键字。如果在使用 lateinit 变量之前没有对其进行初始化,则会出现“lateinit 属性尚未初始化”的错误。您可以在 isInitialized()方法的帮助下在使用之前检查 lateinit 变量是否已初始化。如果 lateinit 属性已被初始化,则此方法将返回true ,否则将返回 false

您可以通过以下方式轻松做到这一点:

或者:

但是,如果您在侦听器或内部类中,请执行以下操作:

例如:

Kotlin
class Tutorial {
  
    lateinit var tutorialName : String
  
    fun initializeName(){
        println(this::tutorialName.isInitialized)
          
        // initializing name
        tutorialName = "GFG Android Course" 
        println(this::tutorialName.isInitialized)
    }
}
  
fun main() {
    Tutorial().initializeName();
}


输出: