【问题标题】:Passing Underscore To a Type Constructor [duplicate]将下划线传递给类型构造函数
【发布时间】:2018-10-01 02:04:34
【问题描述】:

我今天遇到了一个签名如下的方法:

def foo() : Future[_] = { /* some code */ }

我的问题是这里的返回类型是什么意思?这是否意味着此方法返回 Future 而我不在乎计算的类型是什么?还是别的什么?

【问题讨论】:

    标签: scala types existential-type


    【解决方案1】:

    Future[_] 类型只是 the placeholder syntax for existential type

    Future[X] forSome { type X }
    

    这样

    def foo(): (Future[X] forSome { type X }) = { /* some code */ }
    

    表示:foo 返回一个 Future,其值为某个未知类型 X。所以,你的解释

    “这个方法返回一个Future,我不在乎计算的类型是什么”

    是正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-10
      • 2021-10-23
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 2022-01-12
      • 2014-06-04
      • 2018-05-09
      相关资源
      最近更新 更多