Vert.x java List 参数化

2024-02-23

前几天我遇到了 Vert.x futures 的一个奇怪问题,虽然没有破坏代码,但仍然困扰着我。

不带参数的 Future 会导致以下警告:

Future 是一种原始类型。对泛型类型 Future 的引用应该参数化

添加参数,问题解决:

Future<YourClassName> future = ...

在处理 future 列表时,您也可以对其进行参数化:

List<Future<YourClassName>> future = ...

But CompositeFuture.all() http://vertx.io/docs/apidocs/io/vertx/core/CompositeFuture.html#all-java.util.List-似乎无法处理参数化列表并强制您删除参数。

有什么方法可以使参数化的 future 列表与CompositeFuture或者我们只需忽略该警告?它不会破坏任何东西,但仍然很高兴找到解决方案来消除该警告。


一方面,你不能使用CompositeFuture.all()包含参数化期货列表。这是开发人员由于类型擦除而做出的设计决定。
但实际上,CompositeFuture.all()没有做任何特别的事情。因此,您可能有自己的带有静态方法的接口,这将执行相同的操作:

interface MyCompositeFuture extends CompositeFuture {

    // This is what the regular does, just for example
    /*
    static CompositeFuture all(List<Future> futures) {
        return CompositeFutureImpl.all(futures.toArray(new Future[futures.size()]));
    }
    */

    static <T> CompositeFuture all(List<Future<T>> futures) {
        return CompositeFutureImpl.all(futures.toArray(new Future[futures.size()]));
    }
}

And now:

    List<Future<String>> listFuturesT = new ArrayList<>();
    // This works
    MyCompositeFuture.all(listFuturesT);

    List<Future> listFutures = new ArrayList<>();
    // This doesnt, and that's the reason for initial design decision
    MyCompositeFuture.all(listFutures);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vert.x java List 参数化 的相关文章

随机推荐

  • 如何使用 Razor 引擎在 MVC 5 项目上添加日期选择器 Bootstrap 3?

    我需要一些关于如何安装的指南日期选择器 http eternicode github io bootstrap datepicker 使用 Razor 引擎的 MVC 5 项目上的 Bootstrap 3 我找到了这个链接here http
  • Matplotlib Figsize 不受尊重[重复]

    这个问题在这里已经有答案了 我想用 matplotlib 绘制一个正方形图 也就是说 我希望整个图形是正方形的 当我使用以下代码时 生成的图像的宽度仍然比高度大一点 为什么 matplotlib 不尊重我提供的 Figsize import
  • 当我们有客户端会话时,为什么需要 JWT?

    据我所知 JWT 是无状态令牌 它存储有关客户端声明的签名信息 并通过授权 HTTP 标头传递到服务器 我的问题是 当我们已经有了客户端会话时 为什么还需要 JWT https github com mozilla node client
  • 将数字转换为时间

    如何将数字 1 33408564814814 转换为时间 32 01 05 如果您确实想要结果作为字符串 您可以使用如下函数 set serveroutput on format wrapped declare function days
  • HDFS 文件系统的 URL

    我在 HDFS 中有一些数据 user Cloudera Test 我可以通过运行很好地查看记录hdfs dfs cat Test 现在同一个文件 我需要在 scala 中将其读取为 RDD 我在 scala shell 中尝试了以下操作
  • 如何在pyspark中将DenseMatrix转换为spark DataFrame?

    除了以下使用 Scala 的示例之外 我没有找到任何 pyspark 代码将矩阵转换为 Spark 数据帧 有谁知道如何使用 python 代替 如何将 mllib 矩阵转换为 Spark 数据帧 https stackoverflow c
  • Activity.finish() 已调用,但 Activity 仍加载在内存中

    当我在调试器上运行我的应用程序时 我得到主线程和 3 个活页夹线程 单击按钮 我拨打电话Activity finish 看起来它会在 UI 关闭并返回主屏幕时结束 Activity 但是 在调试器中 它仍然将主线程和 3 个绑定器线程显示为
  • 如何在AWS Lambda中加载npm模块?

    我使用基于 Web 的编辑器创建了多个 Lambda 函数 到目前为止 一切都很好 我现在想开始使用模块扩展这些模块 例如 Promise 的 Q 我不知道如何将模块发送到 Lambda 以便我的函数可以使用它们 我已读完在 AWS Lam
  • 在项目中使用同一 DLL 的不同版本

    在我的项目中我必须使用不同版本的AWSSDKdll的 为了做到这一点我采取了帮助这个帖子 https stackoverflow com questions 2460542 using different versions of the s
  • SQL 将字符串(日期或文本)转换为日期

    我有一个数据库 其中有一列名为stringNextDue包含日期 英国格式 和文本 例如 逾期 已完成 等数据 我正在尝试创建一个视图 显示从现在起一个月内到期的课程 WHERE CONVERT DATETIME mt stringNext
  • Excel 97-2003 (.xls) 中的单元格样式丢失或不显示

    我正在使用 Apache POI 库将数据导出到 Excel 我已经尝试了所有最新版本 3 17 4 1 2 和 5 2 1 我在使用 Excel 97 xls 格式时遇到与单元格样式相关的问题 在一定数量的列之后 单元格样式会以某种方式丢
  • 处理中点/笔划的景深着色器

    最近我一直在使用下面的景深着色器 最初来自ofx后处理 https github com neilmendoza ofxPostProcessing blob master src DofPass cppOpenFrameworks 库 用
  • 在 mongodb 文档的列表中插入项目

    我有一个这样的文档 id decfed9a04b997d pushed list 我想通过存储在 python 列表中的这些子项来更新 插入 pushed list lis1 item item1 desc desc item1 item
  • Codeigniter csrf 令牌与 ajax 请求(500 内部服务器错误)

    我很难尝试通过启用了 csrf 令牌的 CI 表单发出 ajax 请求 我做了很长时间的研究 并在与此相关的每个问题中发布了相同的解决方案 即将令牌 val 添加到 ajax 请求中的序列化数据中 我在 ajaxSetup 中执行了此操作
  • 更新排序索引列以移动项目

    如果我有下表和数据允许我们使用sort index用于排序 CREATE TABLE foo id INT 11 NOT NULL AUTO INCREMENT bar id INT 11 DEFAULT NULL sort index I
  • 无法通过MacPorts安装Git-core+svn

    我试图通过 svn 将 Git core 安装到我的 Mac 上 但未成功 sudo port install git core svn gt Verifying checksum s for db46 Error Checksum md5
  • 为什么PHP没有默认构造函数? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将一个 RDD 拆分为两个或多个 RDD?

    我正在寻找一种将 RDD 拆分为两个或多个 RDD 的方法 我见过的最接近的是Scala Spark 将集合拆分为多个RDD https stackoverflow com questions 27231524 scala spark sp
  • 我什么时候应该使用排序字典而不是字典[重复]

    这个问题在这里已经有答案了 正如我在上一篇文章中所写的那样 我对 C 世界还很陌生 因此我编写了一个小基准来相互比较 Dictionary Hashtable SortedList 和 SortedDictionary 该测试运行 8000
  • Vert.x java List 参数化

    前几天我遇到了 Vert x futures 的一个奇怪问题 虽然没有破坏代码 但仍然困扰着我 不带参数的 Future 会导致以下警告 Future 是一种原始类型 对泛型类型 Future 的引用应该参数化 添加参数 问题解决 Futu