【问题标题】:Using map on Scala with option return types在 Scala 上使用带有选项返回类型的 map
【发布时间】:2018-01-03 14:29:30
【问题描述】:

假设我有一个函数接受某种 Option[]... 即:

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

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

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

我有“myY”的地方是这样说的

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

我知道这是怎么回事,因为我的帮助方法创建了类型选项。

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

【问题讨论】:

    标签: scala future option


    【解决方案1】:

    我假设myY 是一个BigInteger,那么您需要做的就是使用Option(myY) 而不是myY 来调用帮助

    【讨论】:

    • 另外,如果myY 保证为非空,则使用更具体的Option 构造函数可能是有意义的——即Some(myY)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 2018-04-29
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多