Kotlin 的空安全處理可以確保在編譯時期就避免空指針異常(NullPointerException),從而提高代碼的健壯性和可靠性。空安全處理主要依賴于以下幾個特性:
String
、Int
等基本類型,也可以是這些類型的包裝類,或者是 null
。例如:var nullableString: String? = null
null
,編譯器會報錯。例如:val nonNullString: String = "Hello, World!"
null
的對象的成員時,可以使用安全調用操作符(?.
)。這樣,如果對象為 null
,整個表達式將返回 null
,而不是拋出空指針異常。例如:val nullableString: String? = null
val length = nullableString?.length // length will be null
null
的變量提供一個默認值時,可以使用空合并操作符(?:
)。這樣,如果變量為 null
,表達式將返回指定的默認值。例如:val nullableString: String? = null
val length = nullableString ?: 0 // length will be 0
null
的變量提供一個默認值,并且希望在該變量為非空時保留其原始值時,可以使用 Elvis 操作符(?:
)。例如:val nullableString: String? = null
val length = nullableString ?: "Unknown" // length will be "Unknown"
通過使用這些空安全特性,Kotlin 可以在編譯時捕獲許多潛在的空指針異常,從而減少運行時錯誤。