在Kotlin中,處理可空值、引用或轉換這些值的慣用方法是什么?如果我有可空類型Xyz?,我希望引用它或將其轉換為非空類型。Xyz..在科特林,這樣做的習慣方式是什么?例如,此代碼出錯:val something: Xyz? = createPossiblyNullXyz()something.foo()
// Error: "Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Xyz?"但是,如果我首先檢查NULL是允許的,為什么?val something: Xyz? = createPossiblyNullXyz()if (something != null) {
something.foo() }如何更改或不將值視為null而不要求if好吧,假設我真的不知道null?例如,在這里,我從一個可以保證存在的映射中檢索一個值,并保證get()不是null..但我有個錯誤:val map = mapOf("a" to 65,"b" to 66,"c" to 67)val something = map.get("a")something.toLong()
// Error: "Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Int?"方法get()認為項目丟失并返回類型是可能的。Int?..因此,強制該值的類型不可為空的最佳方法是什么?
在Kotlin中,處理可空值、引用或轉換這些值的慣用方法是什么?
慕虎7371278
2019-07-15 15:09:06