Kotlin 可空類(lèi)型(Nullable Types)允許變量可能為空(null),這在處理可能未初始化的數(shù)據(jù)或從外部來(lái)源接收的數(shù)據(jù)時(shí)非常有用。然而,使用可空類(lèi)型時(shí),開(kāi)發(fā)者可能會(huì)遇到一些問(wèn)題。以下是 Kotlin 可空類(lèi)型的一些常見(jiàn)問(wèn)題及其解決方法:
?.
)或空合并操作符(?:
)。val nullableString: String? = null
val nonNullString = nullableString?.trimOrNull() ?: "Default value"
@JvmNullable
和 @JvmNonNull
注解來(lái)明確指定 Java 方法參數(shù)的可空性。@JvmNullable
fun getNullableString(): String? {
// ...
}
@JvmNonNull
fun getNonNullString(): String {
// ...
}
?.
)來(lái)解決這個(gè)問(wèn)題。fun String?.safeTrimOrNull() = this?.trimOrNull()
?.
)或空合并操作符(?:
)。val nullableList: List<String?> = listOf("Hello", null, "World")
nullableList.forEach { item ->
val trimmedItem = item?.trimOrNull() ?: "Default value"
println(trimmedItem)
}