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

时间:2017-01-28 20:11:12

标签: 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)

  }

 }

编译时间错误:

 type mismatch ; found: Int required :scala.collection.GenTraversableOnce[?]

1 个答案:

答案 0 :(得分:9)

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

val list = List(1,2,3)
list.flatMap(elem => List(elem * 2)) // List (2,4,6)

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

相关问题