val wordList = List("I", "want", "to", "learn", "scala")
val wordSizeList = list.map(x=>x.length)
def func[A, B](a:List[A]):List[B]={
a.collect({case x:B => x})
}
val result = func[Any, Int](wordList ::: wordSizeList)
Ниже приведен результат листа
wordList: List[String] = List(I, want, to, learn, scala)
wordSizeList: List[Int] = List(1, 4, 2, 5, 5)
func: [A, B](a: List[A])List[B]
result: List[Int] = List(I, want, to, learn, scala, 1, 4, 2, 5, 5)
, почему он не фильтруется на основе общего типа "B"? И если вы видите список результатов, как список типов Int может также содержать строку?