如何将 Scala 数组传递给 Scala vararg 方法? [英] How to pass Scala array into Scala vararg method?
本文介绍了如何将 Scala 数组传递给 Scala vararg 方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
考虑下面的代码:
private def test(some:String*){
}
private def call () {
val some = Array("asd", "zxc")
test(some)
}
它打印 expect String, found Array[String]
为什么?Scala 可变参数不是数组吗?
It prints expect String, found Array[String]
Why? Are Scala varargs not arrays?
注意
我在 Stack Overflow 上发现了几个关于 Scala 可变参数的问题,但所有问题都是关于调用 Java 可变参数方法或将 Scala 列表转换为数组.
I found several questions on Stack Overflow about Scala varargs, but all of them are about calling Java varargs methods or about converting Scala lists to arrays.
推荐答案
像这样将:_*
附加到test
中的参数
Append :_*
to the parameter in test
like this
test(some:_*)
它应该可以按您的预期工作.
And it should work as you expect.
如果你想知道那个神奇的 :_*
做了什么,请参考 这个问题.
If you wonder what that magical :_*
does, please refer to this question.
这篇关于如何将 Scala 数组传递给 Scala vararg 方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文