如何将Scala数组传递给Scala vararg方法? [英] How to pass Scala array into Scala vararg method?

查看:158
本文介绍了如何将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 varargs方法或将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆