在Scala中声明String *类型的变量

时间:2018-10-03 20:18:30

标签: scala

是否可以在Scala中声明类型String*的变量?像可变参数一样?问题是,当我想测试将String*作为参数的一系列方法而又不想只复制每次测试中通过的值时。我知道我可以更改函数以接收Array或Seq之类的String集合,但是我想知道是否有一种方法可以不更改参数类型

1 个答案:

答案 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