2

此代码无法编译

val sortedSet = SortedSet[Int](Array(1,2,3,4).toSeq)

  Error: type mismatch; found  :Seq[Int] required Int

然而,这里是 SortedSet 中 apply 的定义:

def apply[A](elems: A*)(implicit ord: Ordering[A]): CC[A] = (newBuilder[A](ord) ++= elems).result

它说 elem 是一个可变参数,因此 in 应该是 Seq[A] 类型我错过了什么?为什么我不能将 Seq 作为可变参数传递?

4

1 回答 1

7

只需添加: _*

scala> SortedSet[Int](Array(1,2,3,4).toSeq: _*)
res2: scala.collection.immutable.SortedSet[Int] = TreeSet(1, 2, 3, 4)
于 2013-08-05T09:08:48.920 回答