Kotlin笔记-021类属性的延迟初始化

137 阅读1分钟

类属性的延迟初始化

方式一:不推荐

// 初始化为null,但是每次都要做可空类型参数调用
private var tipView:TextView? = null

方式二:不推荐

// lateinit 关键字延迟初始化;但是使用时需要自己保证不为空,否则空指针异常
// lateinit 会让编译器忽略初始化,但是不支持Int等基本类型
private lateinit var tipView2:TextView

方式三:推荐

// 使用lazy;在 tipView3 首次被访问时执行
private val tipView3:TextView by lazy {
    findViewById<TextView>(R.id.tv_main)
}