如何检查“lateInit”变量是否已在 Kotlin 中初始化?
任何在声明后初始化的变量都称为“后期初始化变量”。在传统的编程语言中,任何非 NULL 类型的变量都需要在构造函数中进行初始化。但有时,开发人员会错误地忘记执行这些 NULL 检查,从而导致编程错误。为了避免这种情况,Kotlin 引入了一个新的修饰符,称为“lateInit”。除了这个修饰符,Kotlin 还提供了几个方法来检查这个变量是否被初始化。
为了创建一个“lateInit”变量,我们只需要添加关键字“lateInit”作为该变量的访问修饰符。以下是在 Kotlin 中使用“lateInit”需要遵循的几个条件 -
将“lateInit”与可变变量一起使用。这意味着,我们需要将“var”关键字与“lateInit”一起使用。
"lateInit" 只允许用于非 NULLable 数据类型。
“lateInit”不适用于原始数据类型。
当变量属性没有任何getter和setter方法时,可以使用“lateInit”。
示例
在这个例子中,我们将一个变量声明为“lateInit”变量,并且我们将使用我们的 Kotlin 库函数来检查该变量是否被初始化。
class Tutorial {输出结果lateinit var name : String
fun checkLateInit(){
println(this::name.isInitialized)
//它将打印 false 因为该值未初始化
//初始化名称
name = "www.nhooo.com/"
println(this::name.isInitialized)
//它将返回 true
}
}
fun main() {
var obj=Tutorial();
obj.checkLateInit();
}
执行代码后,它将生成以下输出 -
falsetrue
在第二种情况下,变量名被初始化,因此它返回 True。
以上是 如何检查“lateInit”变量是否已在 Kotlin 中初始化? 的全部内容, 来源链接: utcz.com/z/297062.html