在Scala上使用带有选项返回类型的映射

时间:2018-01-03 14:29:31

标签: scala future option

说我有一个接受某种Option []的功能...... 即:

def help(x: Int, 
         y : Option[BigInteger], 
         ec: ExecutionContext, 
         sc: SecurityContext): Future[Long] = { ... }

我有一个用map调用它的对象,比如说

val answerList: List[Future[Long]] =  random.getPersons
       .map(p => help(x , myY, ec, sc))
       .collect(Collectors.toList())

我有" myY"它说那个

  

类型不匹配,预期选项[BigInteger],实际:BigInteger。

我知道这会发生什么,因为我的帮助方法选择了类型。

我尝试通过选项[myY]来投射myY,但这似乎没有帮助。假设帮助方法正确实施,有人可以帮助我或指出正确的方向吗?谢谢!

1 个答案:

答案 0 :(得分:5)

我认为myY是一个BigInteger,然后您需要做的就是使用Option(myY)而不是myY来调用帮助