在 Kotlin 中,非空類型(Non-null types)是指那些不能為 null 的類型。為了將非空類型轉換為其他類型,你需要使用安全調用操作符(safe call operator)?.
。這個操作符允許你在一個可空對象上調用非空成員,如果對象為 null,則返回 null。
以下是一個示例,展示了如何將非空類型轉換為其他類型:
fun main() {
val nonNullString: String = "Hello, World!"
// 將非空字符串轉換為整數
val intValue: Int? = nonNullString.toIntOrNull()
// 檢查轉換是否成功
if (intValue != null) {
println("轉換成功,整數值為:$intValue")
} else {
println("轉換失敗,字符串不能轉換為整數")
}
}
在這個示例中,我們首先創建了一個非空字符串 nonNullString
。然后,我們使用 toIntOrNull()
擴展函數將其轉換為整數。如果轉換成功,intValue
將是一個非空整數,否則它將為 null。最后,我們檢查 intValue
是否為 null,并相應地輸出結果。
需要注意的是,如果你確定非空類型永遠不會為 null,你可以直接使用非空斷言操作符(non-null assertion operator)!!
。這將告訴編譯器你確定該值不為 null,如果值為 null,將拋出 NullPointerException
。例如:
fun main() {
val nonNullString: String = "Hello, World!"
// 使用非空斷言操作符將字符串轉換為整數
val intValue = nonNullString.toInt()
println("整數值為:$intValue")
}
在這個示例中,我們使用 toInt()
函數將 nonNullString
轉換為整數,并使用非空斷言操作符 !!
告訴編譯器我們確定該值不為 null。如果 nonNullString
為 null,程序將拋出 NullPointerException
。