List<Future> futureList = new ArrayList<>(2);

警告:Raw use of parameterized class 'Future' Inspection info: Reports any uses of parameterized classes where the type parameters are omitted. Such raw uses of parameterized types are valid in Java, but defeat the purpose of using type parameters, and may mask bugs. This inspection mirrors the rawtypes warning of javac.

翻译如下:参数化类型“Future”的原始使用。检查信息:指出省略了类型的参数化类的使用。这种对参数化类型的原始使用在Java中是有效的,但是会破坏使用类型参数的目的,并可能掩盖错误。此检查反映了编译阶段对原始类型的警告。

解析:List<Future>:参数化类型,表示元素类型为Future的列表;List:是与参数化类型相对应的原生态类型;原生态类型List和Java平台没有泛型之前的接口类型完全一样;List<E>:泛型;E:形式类型参数;

那为什么不建议使用原生态类型呢?

答:使用原始类型(没有类型参数的泛型)是合法的,但是你永远不应该这样做。如果使用原始类型,就会失去泛型的安全性和表现力。 既然你不应该使用它们,那么为什么语言设计者一开始就允许原始类型呢?答案是:为了兼容性。Java 即将进入第二个十年,泛型被添加进来时,还存在大量不使用泛型的代码。保持所有这些代码合法并与使用泛型的新代码兼容被认为是关键的。将参数化类型的实例传递给设计用于原始类型的方法必须是合法的,反之亦然。这被称为迁移兼容性的需求,它促使原始类型得到支持并使用擦除实现泛型 。

虽然你不应该使用原始类型(如 List),但是可以使用参数化的类型来允许插入任意对象,如 List<Object>。原始类型 List 和参数化类型 List<Object> 之间的区别是什么?粗略地说,前者选择了不使用泛型系统,而后者明确地告诉编译器它能够保存任何类型的对象。虽然可以将 List<String> 传递给 List 类型的参数,但不能将其传递给类型 List<Object> 的参数。泛型有子类型规则,List<String> 是原始类型 List 的子类型,而不是参数化类型 List<Object> 的子类型(Item-28)。因此,如果使用原始类型(如 List),就会失去类型安全性,但如果使用参数化类型(如 List<Object>)则不会。

Raw use of parameterized class相关推荐

  1. Raw use of parameterized class ‘xxxx‘ 警告

    Raw use of parameterized class 'xxxx' 警告 参数化类的原始使用 泛型不要使用原生态类型 会导致 丢失类型安全性 解决方法 意思是这个类要使用泛型 在类后面加上,& ...

  2. 【Raw use of parameterized class ‘xxx‘ 】

    IDEA 警告:Raw use of parameterized class 'xxx' 翻译:参数化类的原始使用 Question: 为什么会出现这个警告信息 ? Answer: 警告处的对象含有泛 ...

  3. Raw use of parameterized class 处理

    起初: Enumeration<String> paraNames3=request.getParameterNames(); 我的警告是Unchecked assignment: 'ja ...

  4. IntelliJ IDEA-我的习惯性设置

    取消导入同一个包的类太多时候自动变星号的问题 当在一个类中,使用同一个包下的多个类的时候,IntelliJ会自动变成星号导包的形式,这是不应该出现的,所以要对这个设置进行修改 File->Set ...

  5. @SuppressWarnings 用法

    从Java 5.0起,您可以使用java.lang.SuppressWarning注释,来停用与编译单元子集相关的编译警告.__ 作用:用于抑制编译器产生警告信息. Idea 设置泛型检查,变量.方法 ...

  6. Proj1a 数据结构:双端队列| CS61B-Spring-2018

    主要任务 编写双端队列,能够addFirst, remove First, addLast, removeLast.并实现其他一些辅助功能. 使用两种数据结构来完成双端队列,分别是链表和数组. 要求这 ...

  7. IDEA代码警告(warning)整理以及解决办法

    背景   在日常开发中,IDEA可能会通过下方的problems窗口以及编辑窗口最右方的黄色标记提示给我们一些警告:   或者向git提交commit时同样有可能提示警告:   大多数情况下,无视这些 ...

  8. 3万字死磕Java泛型所有细节知识点,看这一篇就够了

    1 泛型 1.0 前言--为什么要死磕Java泛型 不知道阅读这篇文章的你是否曾跟我一样,在没有阅读<Java核心技术>前查阅了大量的Java泛型文章,但是在实际使用泛型的过程中,总是觉得 ...

  9. Effective Java~26. 不要使用 raw type

    在编译完成之后尽快发现错误是值得的,理想情况是在编译时 在泛型被添加到 Java 之前,这是一个典型的集合声明 // Raw collection type - don't do this! // M ...

最新文章

  1. 随机矩阵理论_MIMO 信道容量的理论模型
  2. [UWP]了解模板化控件(7):支持Command
  3. pytorch maxpool和卷积尺寸问题
  4. 《你不知道的JavaScript》整理(四)——原型
  5. DCMTK:OFStandard中“转换为标记”代码的测试程序
  6. 【Boost】boost库asio详解4——deadline_timer使用说明
  7. DBShop电子商务系统
  8. ppc上的DataGrid运用 (C#)(版本1.2)
  9. python,tensorflow,CNN实现mnist数据集的训练与验证正确率
  10. 学校管理系统设计java(数据库、源码、演讲内容、ppt等)
  11. Atitit 战略之道 attilax著
  12. 团标《智慧高速公路建设总体技术要求》发布征求意见稿
  13. 基于STM32F103C8T6的74HC595驱动8位数码管模块学习
  14. 不能创建对象qmdispatch_ActiveX部件不能创建对象的终极解决方案
  15. onenote打开闪退平板_轻松解决Win10 OneNote打不开或闪退的问题
  16. 【生活记录】松江区驾驶证到期续办(上海)
  17. 操作系统、体系结构和传奇船长的泰坦级超级旗舰
  18. [整理] 如何学习插画,美术等
  19. 《操作系统》学习笔记|6.6外存空间管理
  20. selenium代码中创建浏览器对象_Sinno_Song_新浪博客

热门文章

  1. 00002 贪婪洞窟.003.5:地牢商店
  2. endnote没有出现在word工具栏
  3. Python数据分析之数据聚合与分组运算(拆分、应用、合并)
  4. Java 8 Optional:优雅地避免 NPE
  5. Markdown排版
  6. 玩转Service Mesh微服务熔断、限流骚操作
  7. 费马小定理(求逆元)
  8. 可爱的皮卡丘print代码
  9. 女神联盟2服务器停止注册,金山猎豹女神联盟1月30日关服停止运营公告
  10. 室内定位关键技术(indoor location)