Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 等同于语法“!::科特林的一些参考资料_Android_Kotlin_Operators - Fatal编程技术网

Android 等同于语法“!::科特林的一些参考资料

Android 等同于语法“!::科特林的一些参考资料,android,kotlin,operators,Android,Kotlin,Operators,通过Android Doc,我看到了以下代码: fun getUsers(): LiveData<List<User>> { if (!::users.isInitialized) { users = MutableLiveData() loadUsers() } return users } 我知道使用::运算符创建成员引用或类引用。但是代码的等价物是什么!::users.i初始化语法 注意:这与Android

通过Android Doc,我看到了以下代码:

fun getUsers(): LiveData<List<User>> {
    if (!::users.isInitialized) {
        users = MutableLiveData()
        loadUsers()
    }
    return users
}
我知道使用::运算符创建成员引用或类引用。但是代码的等价物是什么!::users.i初始化语法


注意:这与Android Docs示例中的

不同,它是一个lateinit变量,用户在代码段上方的一些行:

private lateinit var users: MutableLiveData<List<User>>
syntax::users.isInitialized检查lateinit变量users是否已初始化,有关详细信息,请参阅

::是Kotlin中this::的缩写形式

::是用于创建成员引用或类引用的运算符

它也被用来或用来

自Kotlin 1.2以来,没有必要显式地将其指定为接收器:this::和::是等效的


您可以查看,以清楚地了解相同的内容。

用户返回的布尔值的逻辑NOT。isInitialized-?它与!user.isinitialized?注意,已更新以避免此代码构造。