2016-10-19 18 views

回答

3

l1.getOrElse(Nil) ::: l2.getOrElse(Nil)

+0

可以相信我没有想到! – rodoherty1

2

还有此选项:

List(l1, l2).flatMap(_.toList).flatten 

它可以很容易地用于任何数量的使用catsOption[List[_]]

0

的是更简单,当您使用semigroup型类

import cats._ , cats.implicits._ , cats.instances._ 

scala> Option(List(3)) |+| Option(List(5)) 
res0: Option[List[Int]] = Some(List(3, 5)) 

scala> Option(List(3)) |+| None 
res1: Option[List[Int]] = Some(List(3))