可以通过以下方式检查成员 lateinit 变量初始化:
class MyClass {
lateinit var foo: Any
...
fun doSomething() {
if (::foo.isInitialized) {
// Use foo
}
}
}
但是,此语法不适用于本地 lateinit 变量。Lint 报告错误:“尚不支持对变量的引用”。逻辑上应该有一种方法可以做到这一点,因为 lateinit 变量在未初始化时内部为空。
有没有办法检查局部变量是否已初始化?