在Kotlin中,可空類型(Nullable Type)是一種特殊的類型,它表示一個值可以是某種類型,也可以是null
。要與其他類型進行轉換,可以使用安全調用操作符(?.
)和空合并操作符(?:
)。
?.
):當你需要訪問可空類型的屬性或方法時,可以使用安全調用操作符。如果可空值為null
,則不會執行后續的代碼。val nullableString: String? = "Hello, World!"
val nonNullString: String = nullableString?.let { it.toUpperCase() } ?: run { "Default value" }
println(nonNullString) // 輸出:HELLO, WORLD!
?:
):當你需要為可空類型提供一個默認值時,可以使用空合并操作符。如果可空值為null
,則返回默認值;否則返回可空值本身。val nullableInt: Int? = null
val nonNullInt: Int = nullableInt ?: 0
println(nonNullInt) // 輸出:0
!!
操作符:如果你確定可空值不為null
,可以使用!!
操作符進行強制解包。但請注意,這可能會導致NullPointerException
,如果可空值為null
。val nullableInt: Int? = 42
val nonNullInt: Int = nullableInt!!
println(nonNullInt) // 輸出:42
if
表達式:你還可以使用if
表達式來處理可空類型。這樣可以根據可空值是否為null
來執行不同的代碼塊。val nullableString: String? = "Hello, World!"
val nonNullString: String = if (nullableString != null) nullableString.toUpperCase() else "Default value"
println(nonNullString) // 輸出:HELLO, WORLD!
在進行類型轉換時,請確保正確處理可空值,以避免運行時錯誤。