Kotlin 中语法 `!::someReference` 的等价物
Equivalent of syntax `!::someReference` in Kotlin
通过 this Android 文档,我看到了这段代码:
fun getUsers(): LiveData<List<User>> {
if (!::users.isInitialized) {
users = MutableLiveData()
loadUsers()
}
return users
}
我知道使用 ::
运算符创建成员引用或 class 引用。但是 !::users.isInitialized
语法的等效代码是什么?
P.S:这不是 What is the use of :: operator in Kotlin?
的副本
在 Android 文档的示例中,有一个 lateinit
变量 users
您的代码段上方的几行:
private lateinit var users: MutableLiveData<List<User>>
语法 ::users.isInitialized
检查 lateinit 变量 users
是否已经初始化,详情请参阅 documentation。
::
是 Kotlin 中 this::
的缩写形式。
::
是创建成员引用或 class 引用的运算符。
也习惯了Check whether a lateinit var is initialized or to get Bound Class References
自 Kotlin 1.2 起,不再需要显式指定 this
作为接收者:this::
和 ::
是等价的。
您可以查看 docs examples 以清楚地了解相同内容。
通过 this Android 文档,我看到了这段代码:
fun getUsers(): LiveData<List<User>> {
if (!::users.isInitialized) {
users = MutableLiveData()
loadUsers()
}
return users
}
我知道使用 ::
运算符创建成员引用或 class 引用。但是 !::users.isInitialized
语法的等效代码是什么?
P.S:这不是 What is the use of :: operator in Kotlin?
的副本在 Android 文档的示例中,有一个 lateinit
变量 users
您的代码段上方的几行:
private lateinit var users: MutableLiveData<List<User>>
语法 ::users.isInitialized
检查 lateinit 变量 users
是否已经初始化,详情请参阅 documentation。
::
是 Kotlin 中 this::
的缩写形式。
::
是创建成员引用或 class 引用的运算符。
也习惯了Check whether a lateinit var is initialized or to get Bound Class References
自 Kotlin 1.2 起,不再需要显式指定 this
作为接收者:this::
和 ::
是等价的。
您可以查看 docs examples 以清楚地了解相同内容。