如何在 Kotlin 中检查"lateInit"变量是否已初始化?
androidmobile developmentapps/applicationskotlin 更新于 2026/2/10 7:07:17
任何在声明后初始化的变量都称为"延迟初始化变量"。在传统编程语言中,任何非 NULL 类型的变量都需要在构造函数中初始化。但有时,开发人员会忘记进行这些 NULL 检查,从而导致编程错误。为了避免这种情况,Kotlin 引入了一个名为"lateInit"的新修饰符。除了此修饰符之外,Kotlin 还提供了几种方法来检查此变量是否已初始化。
要创建"lateInit"变量,我们只需添加关键字"lateInit"作为该变量的访问修饰符。以下是使用"lateInit"需要遵循的几个条件:在 Kotlin − 中
将"lateInit"与可变变量一起使用。这意味着,我们需要将"var"关键字与"lateInit"一起使用。
"lateInit"仅适用于不可为 NULL 的数据类型。
"lateInit"不适用于原始数据类型。
当变量属性没有任何 getter 和 setter 方法时,可以使用"lateInit"。
示例
在此示例中,我们将变量声明为"lateInit"变量,我们将使用 Kotlin 库函数来检查该变量是否已初始化。
class Tutorial {
lateinit var name : String
fun checkLateInit(){
println(this::name.isInitialized)
// 由于值未初始化,因此将打印 false
// 初始化名称
name = "www.tutorialspoint.com/"
println(this::name.isInitialized)
// 返回 true
}
}
fun main() {
var obj=Tutorial();
obj.checkLateInit();
}
输出
执行代码后,将生成以下输出 −
false true
在第二种情况下,变量 name 已初始化,因此返回 True。

