Android lateinit var: 延迟初始化变量的最佳实践
在 Android 中,'lateinit var' 是一种延迟初始化的方式,允许我们在声明变量时不立即初始化,而是在稍后的某个时刻再进行初始化。
使用 'lateinit var' 的变量必须满足以下条件:
- 只能用于非空类型(不能用于可空类型)。
- 不能用于原始数据类型(如 Int、Float 等)。
- 必须在声明时使用 'var' 关键字。
使用 'lateinit var' 时,需要在使用该变量之前进行初始化,否则会抛出 'UninitializedPropertyAccessException' 异常。可以通过调用变量的 '.isInitialized' 方法来检查变量是否已经被初始化。
以下是一个使用 'lateinit var' 的示例:
class MainActivity : AppCompatActivity() {
private lateinit var textView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
textView = findViewById(R.id.text_view)
textView.text = "Hello, World!"
}
}
在上述示例中,我们声明了一个 TextView 类型的 'lateinit var' 变量 'textView'。在 'onCreate' 方法中,我们使用 'findViewById' 方法来获取对应的 TextView 实例,并将其赋值给 'textView' 变量。然后,我们可以像使用普通变量一样使用 'textView' 变量,例如设置其文本内容。
需要注意的是,在使用 'lateinit var' 时,我们需要确保在使用变量之前已经进行了初始化,否则会导致程序崩溃。
原文地址: https://www.cveoy.top/t/topic/qdzW 著作权归作者所有。请勿转载和采集!