在 Kotlin 中使用 lateinit 修饰符可以实现对象的延迟初始化,当我们需要使用这个对象又无法确定该对象是否已经被初始化时,可以使用 isInitialized 进行判断。示例如下:
class MyService{
fun performAction(): String = "foo"
}
class Test{
private lateinit var myService: MyService
fun checkInit(){
// 如果 myService 对象还未初始化,则进行初始化
if(!this::myService.isInitialized){
myService = MyService()
}
}
}
注意:this:: 前缀不可以省略