我发现自己有时处于跑步的状态:
someCollection.filter(_.isInstanceOf[Foo]).asInstanceOf[List[Foo]]
只是检查集合是否具有Foo
的实例并投射最终过滤的集合。
有没有更好的方法(假设我无法更改当前的数据结构)?
我尝试过:
someCollection.map(case c: Foo => c)
但在运行时它会返回MatchingError
,因为它正在寻找所有剩余的案例(case _ =>
)。
答案 0 :(得分:3)
someCollection.collect { case c: Foo => c }