假设您有一个 List(1,"1"),它的类型是 List[Any],这当然是正确的和预期的。现在,如果我像这样映射列表
scala> List(1, "1") map {
| case x: Int => x
| case y: String => y.toInt
| }
结果类型是 List[Int] 也是预期的。我的问题是是否存在与过滤器映射的等效项,因为以下示例将生成 List[Any]。这可能吗?我认为这可以在编译时解决,可能不是运行时?
scala> List(1, "1") filter {
| case x: Int => true
| case _ => false
| }