如何将所有Int值拉出List [Any]?

sto*_*age 2 scala

我在Scala中有一个List [Any],它包含Int,String,Char和List的混合.我想只将Int值拉出到List [Int]的新List中.我怎么做?

小智 13

尝试的方法collect,这是等的组合mapfilter具有部分功能作为它的参数.

List(1, 2, "Foo", 39.7 ).collect{ case i: Int => i }

结果是List(1, 2),编译器知道类型是List [Int]而不是List [Any].