def main(args: Array[String]) {
foo("hello")
}
def foo(args:Any*){
bar(args)
}
def bar(args:Any *){
println(args)
}
查看上面的代码,输出是WrappedArray(WrappedArray(hello))
String'hello'被包裹两次,如何避免这个
答案 0 :(得分:5)
在bar
的调用中,写下:
bar(args: _*)
这告诉编译器使用args
中的参数,此时此参数与Seq[T]
非常相似,并将它们分别传递给bar
,而不是考虑{ {1}}是args
接受的第一个重复参数。