我们不能在整数列表上使用scala flatMap方法(即)List [Int]吗?

Sur*_*aja -3 scala

我们不能在整数列表上使用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)

  }

 }
Run Code Online (Sandbox Code Playgroud)

编译时间错误:

 type mismatch ; found: Int required :scala.collection.GenTraversableOnce[?]
Run Code Online (Sandbox Code Playgroud)

gas*_*rms 9

flatMap()假设您返回的是值集合而不是单个元素.因此这些将起作用:

val list = List(1,2,3)
list.flatMap(elem => List(elem * 2)) // List (2,4,6)
Run Code Online (Sandbox Code Playgroud)

如果您只想乘以2,请使用map.