在 Kotlin 中,為了避免非空類型引發的錯誤,您可以采用以下方法:
?:
):在變量或函數參數中,使用非空類型注解可以明確指定該值不會為空。例如:val nonNullString: String = "Hello, World!"
fun printNonNullString(str: String) {
println(str)
}
?.
):當您需要訪問可能為空的對象的屬性或方法時,可以使用安全調用操作符來避免空指針異常。例如:val user: User? = getUserFromDatabase()
val name: String? = user?.name
?:
):當您需要為可能為空的值提供一個默認值時,可以使用Elvis操作符。例如:val age: Int? = user?.age ?: 0
let
函數:當您需要訪問可能為空的對象的屬性或方法時,可以使用let
函數來避免空指針異常。例如:val user: User? = getUserFromDatabase()
user?.let {
println("User name: ${it.name}")
}
fun String.nonEmptyOrDefault(defaultValue: String): String {
return this ?: defaultValue
}
val str: String? = "Hello, World!"
val nonEmptyStr = str.nonEmptyOrDefault("Default String")
通過遵循這些實踐,您可以有效地避免在 Kotlin 中處理非空類型時出現的錯誤。