kotlin lateinit 和 by lazy 的區(qū)別
1 回答

不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
Kotlin lateinit 和 by lazy 的區(qū)別:
1.lazy{} 只能用在val類型, lateinit 只能用在var類型 如 :
val name: String by lazy { "sherlbon" }
lateinit var adapter: MyAdapter12
2.lateinit不能用在可空的屬性上和java的基本類型上 如:
lateinit var age: Int //會報(bào)錯(cuò)1
3.lateinit可以在任何位置初始化并且可以初始化多次。而lazy在第一次被調(diào)用時(shí)就被初始化,想要被改變只能重新定義
4.lateinit 有支持(反向)域(Backing Fields)
- 1 回答
- 0 關(guān)注
- 1218 瀏覽
添加回答
舉報(bào)
0/150
提交
取消