Kotlin學習筆記(四):Kotlin 延遲加載


在使用kotlin開發中,因為各種原因,我們會經常需要使用到延遲加載的功能,目前kotlin的延遲加載主要有兩種:lateinitlazy.

1. lateinit 的使用

lateinitkotlin中的一個關鍵字,使用方法如下:

// 聲明一個string變量
lateinit var a1: String
    
private fun test() {
    // 初始化
    a1 = "test1"
}

var之前添加lateinit,然后選擇你想要的時候,初始化,但是有以下需要注意的地方:

  • lateinit只能修飾變量var,不能修飾常量val;
  • lateinit不能對可空類型使用;
  • lateinit不能對java基本類型使用,例如:Double、Int、Long等;
  • 在調用lateinit修飾的變量時,如果變量還沒有初始化,則會拋出未初始化異常。

2. lazy 的使用

lazy也是kotlin中常用的一種延遲加載方式,使用方法如下:

val a2:String by lazy{
    println("開始初始化")
    // 初始化的值
    "sss"
}

使用時,在類型后面加by lazy{}即可,{}中的最后一行代碼,需要返回初始化的結果,上述代碼中,"sss"即為最后初始化的值。

下面是lazy的一些注意點:

  • lazy只能對常量val使用,不能修飾變量var
  • lazy的加載時機為第一次調用常量的時候,且只會加載一次(畢竟是個常量,只能賦值一次)

 


免責聲明!

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



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