gpt4 book ai didi

android - Kotlin:如何检查具有lateinit属性的变量是否已初始化

转载 作者:IT老高 更新时间:2023-10-28 13:46:21 35 4
gpt4 key购买 nike

我有一个声明为类似的变量

private lateinit var apiDisposable: Disposable

然后在onPause()方法中,我在做

override fun onPause() {
super.onPause()
if (!apiDisposable.isDisposed)
apiDisposable.dispose()
}

但我明白了

kotlin.UninitializedPropertyAccessException: lateinit property apiDisposable has not been initialized

谁能告诉我如何检查这个变量是否已初始化?有没有像 isInitialised()

这样的方法

任何帮助将不胜感激

最佳答案

将您的属性声明为可空类型的简单属性:

private var apiDisposable: Disposable? = null

使用安全调用符号调用方法:

override fun onPause() {
super.onPause()
apiDisposable?.dispose()
}

lateinit 保留用于保证初始化的变量,如果不是这种情况 - 不要使用它。

关于android - Kotlin:如何检查具有lateinit属性的变量是否已初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52663924/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com