我们不能在整数列表上使用scala flatMap方法(即)List [Int]?
我收到以下代码的编译时错误
object FlatMapExample {
def main(args:Array[String])
{
val numberList = List(1,2,3)
val mappedList = numberList.map { elem => elem*2 }
println(mappedList)
val flatMappedList = numberList.flatMap { elem => elem*2 }//compile time error
println(flatMappedList)
}
}
编译时间错误:
type mismatch ; found: Int required :scala.collection.GenTraversableOnce[?]
答案 0 :(得分:9)
flatMap()
假设您返回的是值集合而不是单个元素。因此,这些将起作用:
val list = List(1,2,3)
list.flatMap(elem => List(elem * 2)) // List (2,4,6)
如果您只想乘以2,请使用map。