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

查看:28
本文介绍了如何将 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屋!

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