我收到錯誤訊息:
AddAddressActivity.kt: (69, 53): Type mismatch: inferred type is String? but String was expected

uj5u.com熱心網友回復:
這是由于您villageId從中獲得的可以為空getString("village_id")
為了解決這個問題,您可以使用默認值,因此當 bundle 不包含提供的鍵時,它最終會回傳默認值。
val villageId = getString("village_id", "My Default Value")
或者您可以使用 kotlin elvis 在它為空時獲取其他值。
val villageId = getString("village_id") ?: "My Default Value"
或者,如果您確定意圖將始終包含村莊 id,那么您可以使用 !!(not-null 斷言運算子),如果不是 null,它將轉換非 null 值,否則將拋出例外
val villageId: String = getString("village_id")!!
您可以在以下鏈接中了解更多關于 null 安全性的內容。科特林
uj5u.com熱心網友回復:
這是因為該getString方法回傳一個可為空的值 ( String?),但您將它分配給采用非空值 (expects String) 的東西。如果你想修復它,你可以將它分配給一個默認字串,如果它是這樣的 null
val villageId = getString("village_id") ?: "default"
或空字串
val villageId = getString("village_id").orEmpty()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/410770.html
標籤:
上一篇:Python-正確拆分字串
下一篇:如何使用ajax發布跨度ID
