1
  def main(args: Array[String]) {
      foo("hello")
  }

  def foo(args:Any*){
    bar(args)
  }

  def bar(args:Any *){
    println(args)
  }

看上面的代码,输出是 WrappedArray(WrappedArray(hello))

字符串'hello'被包裹了两次,如何避免这种情况

4

1 回答 1

5

在 的调用中bar,这样写:

bar(args: _*)

这告诉编译器使用 args args,此时它与 a 非常相似Seq[T],并将它们中的每一个分别传递给bar,而不是考虑args作为接受的重复参数中的第一个bar

于 2012-09-16T09:01:09.053 回答