跳转至

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

原文:https://www . geeksforgeeks . org/如何检查变量是否已初始化或不在 kotlin/

在 Kotlin 中, lateinit 关键字用于那些在声明之后初始化的变量,或者我们可以说延迟初始化的变量叫做 lateinit 变量。lateinit 关键字用于我们确定变量将在使用前被初始化的情况。如果我们在使用一个 lateinit 变量之前没有初始化它,就会给出一个“lateinit 属性没有初始化”的错误。在使用 lateinit 变量之前,可以借助isiinitialized()方法检查该变量是否已经初始化。如果 lateinit 属性已经初始化,该方法将返回,否则将返回

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

  • variablename . Isinitialized

或者:

this::variablename . is initialized

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

this @ outclassname::variablename . is initialized

例如:

我的锅

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();
}

输出:

错误的

真实的



回到顶部