在Kotlin中,空安全是通過可空類型和非空類型來實現的。
var str: String? = null
這樣定義的變量str就可以為null。
當我們想要訪問可空類型的變量時,需要使用安全調用操作符"?.",它會在變量為null時返回null,而不會拋出空指針異常。例如:
var length = str?.length
var str: String = "Hello"
如果我們嘗試將一個null值賦給非空類型的變量,編譯器會報錯。
當我們確定一個可空類型的變量不為null時,可以使用非空斷言操作符"!!"來訪問它的值。例如:
var length = str!!.length
如果str為null,這里會拋出空指針異常。
通過可空類型和非空類型的組合,Kotlin提供了一種更安全的方式來處理空指針異常,使得代碼更加健壯和可靠。