You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中调用含vararg参数的API时如何过滤空值?

解决方案

当然可行,你可以借助Kotlin的listOfNotNull和**展开操作符***来实现,不需要修改目标API方法。

具体做法:

  • 用listOfNotNull包裹所有可能为null的参数,它会自动过滤掉所有null元素,得到不含null的List<Param>
  • 将列表转为数组(toTypedArray())
  • 用展开操作符*把数组展开为vararg参数传入API

修改后的调用代码如下:

someFun() {
    apiMethod(
        *listOfNotNull(
            Param("first"),
            Param("second"),
            null // 该null会被自动过滤
        ).toTypedArray()
    )
}

原理说明:

  • listOfNotNull的核心特性就是仅保留非null元素,刚好满足你的过滤需求
  • Kotlin的*操作符支持将数组展开为vararg参数,完美匹配apiMethod的参数要求

内容的提问来源于stack exchange,提问作者testivanivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:20:22