相关疑难解决方法(0)

Kotlin - 如何在"lateinit"和"nullable variable"之间做出决定?

我对lateinit和nullable变量感到困惑,哪一个用于变量.

lateinit var c: String
var d: String? = null
c = "UserDefinedTarget"

// if not added initialisation for c than throws UninitializedPropertyAccessException
if (c == "UserDefinedTarget") {
    //do some stuff.
}
//not throws any exception whether d is initialise or not.
if(d == "UserDefinedTarget") {
     //do some stuff
}
Run Code Online (Sandbox Code Playgroud)

android kotlin

27
推荐指数
3
解决办法
7064
查看次数

带有 `?` 的可空变量 vs. lateinit var

在 Kotlin/Android 活动/片段中定义全局变量的最佳方法是什么?

当您应该使用这 2 种方法来定义全局变量时,有哪些不同的场景:

var viewpager: CustomViewPager? = null 
Run Code Online (Sandbox Code Playgroud)

或者

lateinit var viewpager: CustomViewPager
Run Code Online (Sandbox Code Playgroud)

?

如果我使用前者,我将不必在我的代码中检查 null。例如,如果我用于lateinit以下内容:

viewpager = activity?.findViewById<CustomViewPager>(R.id.viewpager) 那么我将不得不检查空值。

android kotlin

6
推荐指数
1
解决办法
5716
查看次数

标签 统计

android ×2

kotlin ×2