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)}
なぜコードListBuffer[String]("foo", "bar")
が作業を行うstarを引数に渡して次のメソッドに渡す方法は?
(GenericCompanion.scala
から方法apply
)
def apply[A](elems: A*): CC[A] = { ... }
あるListBuffer [文字列]の適用方法に引数s
を通過することは不可能です。しかし、String*
であるs
の文字列の引数リストを渡すことはできないようです。
私は同様のケースがあったし、あなたのアンパックソリューションは、しかし、問題を解決します暗黙の変換は「キックイン」しないので(タイプミスマッチエラーが発生する)解凍機能で暗黙の変換を強制することは可能ですか? –