是否可以在Scala中声明类型String*
的变量?像可变参数一样?问题是,当我想测试将String*
作为参数的一系列方法而又不想只复制每次测试中通过的值时。我知道我可以更改函数以接收Array或Seq之类的String集合,但是我想知道是否有一种方法可以不更改参数类型
答案 0 :(得分:2)
Varargs表示法:
def foo(ss :String*) = {
//ss is Seq[String], you can ss.map(), ss.length, etc.
}
用法:
foo()
foo("this", "that")
foo("abc", "abd", "abx")
val someList = List("another" , "collection", "of", "strings")
foo(someList :_*) // turn a collection into individual varargs parameters