我在Scala中有一个List [Any],它包含Int,String,Char和List的混合。我想只将Int值拉出到List [Int]的新List中。我该怎么做?
答案 0 :(得分:13)
尝试collect
方法,它类似于map
和filter
的组合,其中部分函数作为参数。
List(1, 2, "Foo", 39.7 ).collect{ case i: Int => i }
结果是List(1, 2)
,编译器知道类型是List [Int]而不是List [Any]。