Попробуйте метод collect
, который подобен комбинации map
и filter
с частичной функцией в качестве параметра.
List(1, 2, "Foo", 39.7 ).collect{ case i: Int => i }
Результат равен List(1, 2)
, и компилятор знает, что типом является List [Int], а не List [Any].