假设你有一个类型为List[Any]的列表(1,"1"),这当然是正确和期望的。现在,如果我像这样映射列表
scala> List(1, "1") map {
| case x: Int => x
| case y: String => y.toInt
| }
结果类型是List[Int],这也是预期的。我的问题是: 是否存在一种类似于map的filter方法,因为以下示例将导致List[Any]。这是可能的吗?我假设这可以在编译时解决,而不是运行时?
scala> List(1, "1") filter {
| case x: Int => true
| case _ => false
| }
filter
不会改变集合的类型,因为它不会修改其元素。 - Daniel C. Sobral