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

Scala中如何创建含整数值的Array[Any]?附类型匹配问题解决

搞定Scala里Array[Int]与Array[Any]的类型不匹配问题

嘿,我来给你拆解这个问题的前因后果:

最开始你想创建一个数值数组,传递给接收Array[Any]类型参数的方法,用常规写法写了:

val inputIds = Array(7, 1, 4)

结果IntelliJ直接弹出类型不匹配错误:预期Array[Any],实际为Array[Int]。

其实这是因为Scala中的Array属于不变类型——简单说就是Array[Int]不能直接作为Array[Any]来使用,不像部分支持协变的类型可以自动向上兼容。当你不手动指定数组类型时,Scala会自动推断出最精确的元素类型,也就是Int,所以最终得到的是Array[Int],自然和方法要求的Array[Any]类型不匹配。

后来你找到的解决方法完全正确:只要在创建数组时明确指定类型为Array[Any],就能强制让数值元素被向上转型为Any类型:

val inputIds = Array[Any](7, 1, 3)

这样生成的数组就可以顺利传递给目标方法了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:27:20