5
scala> class A (s: String*) { val l: ListBuffer[String] = ListBuffer[String](s) }
<console>:8: error: type mismatch;
  found   : String*
  required: String
    class A(s: String*)  {val l: ListBuffer[String] = ListBuffer[String](s)}

sListBuffer[String]のapplyメソッドに引数を渡すことができないのはなぜですか。

def apply[A](elems: A*): CC[A] = { ... }

applyからの方法GenericCompanion.scala

コードListBuffer[String]("foo", "bar")は機能します。しかし、文字列の引数リストを通過できないようsですString*

4

1 に答える 1

9

Scalaに解凍するように指示する必要がありますs

ListBuffer[String](s: _*)

また、明示的なタイプは必要ありません。

scala> class A (s: String*) { val l = ListBuffer(s: _*) }
defined class A
于 2012-06-22T14:00:54.797 に答える