在 Kotlin 中,可空類型(Nullable Types)允許你表示一個變量可能為空。為了處理空值,你可以使用以下方法:
val nullableString: String? = "Hello, World!"
val nonNullString: String = nullableString?.toUpperCase() ?: run {
"Default value"
}
val nullableInt: Int? = 42
val nonNullInt: Int = nullableInt ?: 0
let
函數:這個函數允許你在可空類型的變量不為空時,執行一個代碼塊。如果變量為空,代碼塊將不會被執行。val nullableString: String? = "Hello, World!"
nullableString?.let {
println("The string is not null: $it")
} ?: run {
println("The string is null")
}
Elvis 操作符
(?:`):這個操作符與空合并操作符類似,但更簡潔。它允許你在可空類型的變量為空時,提供一個默認值。val nullableInt: Int? = 42
val nonNullInt: Int = nullableInt ?: 0
is
和 !
操作符進行類型檢查和空斷言:is
操作符用于檢查可空類型的變量是否為特定類型,而 !
操作符用于斷言變量不為空。請注意,使用 !
操作符時,如果變量為空,將拋出空指針異常。val nullableString: String? = "Hello, World!"
if (nullableString is String) {
println("The value is a string: ${nullableString}")
}
val nonNullString: String = nullableString ?: "Default value"
總之,Kotlin 提供了多種處理可空類型的方法,你可以根據具體需求選擇合適的方法來避免空指針異常。