Kotlin 如何执行伴生对象lateinit是初始化检查
如果我有一个lateinit变量,我可以检查它是否使用(this::lateInitVar.isInitialized)初始化,如中所示 但是,如果变量是一个伴生对象,我怎么能这样做呢 e、 gKotlin 如何执行伴生对象lateinit是初始化检查,kotlin,Kotlin,如果我有一个lateinit变量,我可以检查它是否使用(this::lateInitVar.isInitialized)初始化,如中所示 但是,如果变量是一个伴生对象,我怎么能这样做呢 e、 g 您可以将其提取到伴生对象内的函数中: class MyClass { companion object { lateinit var myGlobalLateInit: String fun isMyGlobalLateInitInitialized() =
您可以将其提取到伴生对象内的函数中:
class MyClass {
companion object {
lateinit var myGlobalLateInit: String
fun isMyGlobalLateInitInitialized() = ::myGlobalLateInit.isInitialized
}
fun settingVariable() {
if (!isMyGlobalLateInitInitialized()) {
myGlobalLateInit = "I am set"
}
}
}
就我个人而言,我只是不把它设为lateinit,而是将它设为null,然后检查它
class MyClass {
companion object {
lateinit var myGlobalLateInit: String
fun isMyGlobalLateInitInitialized() = ::myGlobalLateInit.isInitialized
}
fun settingVariable() {
if (!isMyGlobalLateInitInitialized()) {
myGlobalLateInit = "I am set"
}
}
}