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

Android Kotlin扩展函数bundleOf使用报错,求正确写法

如何正确使用bundleOf函数?

嘿,我来帮你搞定这个问题!你代码报错的核心原因是用错了bundleOf的参数传递方式,咱们一步步理清楚:

首先看一下bundleOf的函数签名:

fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle

这里的vararg表示它接受任意数量的Pair类型参数,而不是你写的lambda表达式(花括号{}里的内容)。

正确的写法有两种:

1. 直接传递多个Pair实例(用逗号分隔)

val bundle = bundleOf(
    Pair("KEY_PRICE", 50.0),
    Pair("KEY_IS_FROZEN", false)
)

2. 用Kotlin的to中缀函数(更简洁的写法)

Kotlin标准库提供了to这个中缀函数,它会自动把"key" to value"转换成Pair("key", value),代码看起来更清爽:

val bundle = bundleOf(
    "KEY_PRICE" to 50.0,
    "KEY_IS_FROZEN" to false
)

为什么你的写法会报错?

你写的bundleOf { Pair(...) Pair(...) }是把一个lambda作为参数传给bundleOf,但bundleOf并没有接受lambda的重载函数,编译器找不到对应的方法签名,自然就会报错啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:25:44