如何在Kotlin中檢查“lateInit”變數是否已初始化?
任何在聲明後才初始化的變數都稱為“延遲初始化變數”。在傳統的程式語言中,任何非空型別的變數都需要在建構函式中初始化。但有時,由於疏忽,開發人員忘記進行這些空值檢查,從而導致程式設計錯誤。為了避免這種情況,Kotlin 引入了一種新的修飾符,稱為“lateInit”。除了這個修飾符之外,Kotlin 還提供了一些方法來檢查此變數是否已初始化。
要建立一個“lateInit”變數,我們只需要新增關鍵字“lateInit”作為該變數的訪問修飾符。以下是使用Kotlin中的“lateInit”需要遵循的幾個條件:
將“lateInit”與可變變數一起使用。這意味著我們需要使用“var”關鍵字與“lateInit”一起使用。
“lateInit”僅允許用於不可為空的資料型別。
“lateInit”不適用於基本資料型別。
當變數屬性沒有任何**getter**和**setter**方法時,可以使用“lateInit”。
示例
在這個例子中,我們將宣告一個變數為“lateInit”變數,並將使用我們的Kotlin庫函式來檢查該變數是否已初始化。
class Tutorial {
lateinit var name : String
fun checkLateInit(){
println(this::name.isInitialized)
// it will print false as the value is not initialized
// initializing name
name = "www.tutorialspoint.com/"
println(this::name.isInitialized)
// It will return true
}
}
fun main() {
var obj=Tutorial();
obj.checkLateInit();
}輸出
執行程式碼後,將生成以下輸出:
false true
在第二種情況下,變數**name**已初始化,因此返回True。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP