首页 > 代码库 > scala map和flatMap
scala map和flatMap
map和flatMap
scala> val a = Seq(1,2,3,6,4) a: Seq[Int] = List(1, 2, 3, 6, 4) scala> val b = a.flatMap(f=>{ | try{ | Some(f/(f-1)) | }catch{ | case e:Exception=>None | } | }) b: Seq[Int] = List(2, 1, 1, 1) scala> val b = a.map(f=>{ | try{ | Some(f/(f-1)) | }catch{ | case e:Exception=>None | } | }) b: Seq[Option[Int]] = List(None, Some(2), Some(1), Some(1), Some(1))
flatMap类型需要一致
scala> val d = a.flatMap(f=>{ | try{ | f/(f-1) | }catch{ | case e:Exception=>None | } | }) <console>:33: error: type mismatch; found : Int required: scala.collection.GenTraversableOnce[?] f/(f-1) ^ scala> val d = a.map(f=>{ | try{ | f/(f-1) | }catch{ | case e:Exception=>None | } | }) d: Seq[Any] = List(None, 2, 1, 1, 1)
scala map和flatMap
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。