对于函数调用链中任何null的情况,Kotlin elvis运算符都会回退

问题描述 投票:0回答:1

我想知道如果以下函数调用之一返回?:,是否调用了null elvis运算符。>

  private fun extractProductAttributes(productEntity: JSONObject): List<JSONObject> {
        return productEntity.optJSONObject("Entity")
                ?.optJSONObject("Attributes")
                ?.optJSONArray("Attribute")
                ?.toList() as List<JSONObject>
                ?: listOf()
    }

如果这些函数中的任何一个返回null,我想回退到一个空的不可变列表。这样工作正常吗?

我想知道如果以下函数调用之一返回null时是否调用了?:elvis运算符。私人乐趣extractProductAttributes(productEntity:JSONObject):List ... ...>

kotlin
1个回答
0
投票

是的,它将。让我们分解代码以查看其工作方式...

假设您有此代码,

© www.soinside.com 2019 - 2024. All rights reserved.