lateinitVar无法解析使用从Kotlin 1.2.10 isInitialized
我想使用这个function
像这个例子中最简单的东西不适合我:
lateinit val foo = 1 val bar = foo::lateinitVar.isInitialized()
但是我越来越
unresolved reference lateinitVar
我在Android-Studio中通过Gradle使用Kotlin 1.2.10(也安装了Kotlin 1.2.10插件)
代码中没有名称lateinitVar
的variables,因此是错误的。 再看看这个例子:
this::lateinitVar.isInitialized
这里定义了一个variableslateinitVar
,该函数被调用。 示例中的代码片段可以被扩展(在列表的开头处加上小号),如下所示:
class Foo { lateinit var lateinitVar: String fun initializationLogic() { println("isInitialized before assignment: " + this::lateinitVar.isInitialized) lateinitVar = "value" println("isInitialized after assignment: " + this::lateinitVar.isInitialized) } }
这可能会更清楚。
另外,请注意, lateinit
不能应用于val
而只能是var
。