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)}
Por qué no es posible pasar el argumento s
con el método de aplicación de ListBuffer [String] que es¿Cómo pasar el argumento con estrella al siguiente método?
def apply[A](elems: A*): CC[A] = { ... }
(Método apply
del GenericCompanion.scala
)
El código ListBuffer[String]("foo", "bar")
funciona. Pero parece que no puedo pasar la lista de argumentos de cadenas de s
que también es String*
.
que tenía caso similar y su solución de desempaquetado resuelto el problema, sin embargo la conversión implícita no "inicia" (así que obtengo un error de desajuste de tipo). ¿Es posible forzar la conversión implícita con la función de desempaquetar? –