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

android – Kotlin:如何检查带有lateinit属性的变量是否已初始化,第1张

概述我有一个声明为的变量 private lateinit var apiDisposable: Disposable 然后在onPause()方法中,我正在做 override fun onPause() { super.onPause() if (!apiDisposable.isDisposed) apiDisposable.dispose()} 但我明白了 k 我有一个声明为的变量

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属性的变量是否已初始化全部内容,希望文章能够帮你解决android – Kotlin:如何检查带有lateinit属性的变量是否已初始化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1123237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存