如何在Kotlin中检查“lateInit”变量是否已初始化?
任何在声明后才初始化的变量都称为“延迟初始化变量”。在传统的编程语言中,任何非空类型的变量都需要在构造函数中初始化。但有时,由于疏忽,开发人员忘记进行这些空值检查,从而导致编程错误。为了避免这种情况,Kotlin 引入了一种新的修饰符,称为“lateInit”。除了这个修饰符之外,Kotlin 还提供了一些方法来检查此变量是否已初始化。
要创建一个“lateInit”变量,我们只需要添加关键字“lateInit”作为该变量的访问修饰符。以下是使用Kotlin中的“lateInit”需要遵循的几个条件:
将“lateInit”与可变变量一起使用。这意味着我们需要使用“var”关键字与“lateInit”一起使用。
“lateInit”仅允许用于不可为空的数据类型。
“lateInit”不适用于基本数据类型。
当变量属性没有任何**getter**和**setter**方法时,可以使用“lateInit”。
示例
在这个例子中,我们将声明一个变量为“lateInit”变量,并将使用我们的Kotlin库函数来检查该变量是否已初始化。
class Tutorial {
lateinit var name : String
fun checkLateInit(){
println(this::name.isInitialized)
// it will print false as the value is not initialized
// initializing name
name = "www.tutorialspoint.com/"
println(this::name.isInitialized)
// It will return true
}
}
fun main() {
var obj=Tutorial();
obj.checkLateInit();
}输出
执行代码后,将生成以下输出:
false true
在第二种情况下,变量**name**已初始化,因此返回True。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP