Retornando o mesmo tipo de coleção, com parâmetros diferentes
Daniel Sobral mostrou como podemos criar um método que retorna o mesmo tipo de coleção no qual foi chamado em sua resposta a esta pergunta:etornando o tipo de coleção original no método genéri
possível fazer o mesmo para um método que usa um mapeamento para retornar uma versão com parâmetros diferentes do mesmo tipo de coleçã
Por exempl
def foo[A](xs: GenTraversable[A]) = xs map (_.toString)
foo( List(1, 2, 3) )
retornares: GenTraversable[String] = List(1, 2, 3)
Pode ser adaptado para que
foo( Set(1, 2, 3) )
retorna umSet[String]
foo( List(1, 2, 3) )
retorna umList[String]
foo( Vector(1, 2, 3) )
retorna umVector[String]