Kotlin 判断 lateinit 变量是否已经被初始化

在 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:: 前缀不可以省略

猜你喜欢

转载自blog.csdn.net/qingyunhuohuo1/article/details/109593816