在 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 提供了多种处理可空类型的方法,你可以根据具体需求选择合适的方法来避免空指针异常。