Kotlin中,lateinit 和 lazy{} 的區別


1.lazy{} 只能用在val類型, lateinit 只能用在var類型 如 :
val name: String by lazy { "sherlbon" }
lateinit var adapter: MyAdapter
1
2
2.lateinit不能用在可空的屬性上和java的基本類型上 如:
lateinit var age: Int  //會報錯
1
3.lateinit可以在任何位置初始化並且可以初始化多次。而lazy在第一次被調用時就被初始化,想要被改變只能重新定義
4.lateinit 有支持(反向)域(Backing Fields)
---------------------
作者:Sherlbon
來源:CSDN
原文:https://blog.csdn.net/Sherlbon/article/details/72769843
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM