簡體   English   中英

內聯時的 Kotlin 空指針異常,但分離時不會

[英]Kotlin null pointer exception when inlined but not when separated

當將代碼折疊成一行時,開始拋出空指針異常。 但是如果分成多個變量,那么它工作得很好。 在 android api 31 上升級到 kotlin 1.5.0 時注意到了這個問題。

內聯代碼:

embeddedBasket?.basket?.items?.items?.asSequence()?.map { it.productItem }?.toMutableList() ?: mutableListOf() // throws null pointer exception

代碼分離:

val productResponses = embeddedBasket?.basket?.items?.items // null
val asSequence = productResponses?.asSequence() // null
val map = asSequence?.map { it.productItem } // null
val toMutableList = map?.toMutableList() // null
val endList = toMutableList ?: mutableListOf() // Empty MutableList

知道為什么嗎?

編輯:

找到了問題的原因。 當從代碼庫中的其他地方的 json 轉換時,Gson 產生了空值。 Gson 和 Kotlin 問題

找到了問題的原因。 當從代碼庫中的其他地方的 json 轉換時,Gson 產生了空值。 Gson 和 Kotlin 問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM