双十一|OpenJDK 提案将为 Java 带来通用泛型
【双十一|OpenJDK 提案将为 Java 带来通用泛型】出品|开源中国
文|白开水
Infoworld 消息 , 根据 OpenJDK 提案 , Java 将获得通用泛型(universal generics) , 此举旨在使该语言更易于使用 。 不过该规划本身需要花费数年时间才能实现 。
通用泛型最初将通过 OpenJDK 社区中的三个提案来实现 。 甲骨文方面表示 , 这些提议将极大地改变 Java 语言和 JVM , 结合类的灵活性和基元的性能 。一切(包括基元)都将成为一个对象 。但是所选择的路径并不会降低基元的性能 , 而是使类的性能与基元一样 。
三个 JDK Enhancement Proposals(JEP)中的每一个都提供了不同的功能 , 但想要达到预期的效果 , 则需要结合这三个提案 。 其中最主要的是一份于 2 月创建并于 10 月 29 日更新的 , 它要求通过允许 Java 类型变量覆盖这两种类型来统一对泛型代码中引用和原始值类型的处理 。 将会产生新的 warnings , 以维护通用代码的安全保证 。
使用用户声明的原始对象增强 Java 对象模型的 将作为先决条件;计划将基本基元与对象统一起来的 , 预计也会推进 。 其他 JEP 则将随之更新标准库、解决 null warnings 和使库为专业化做好准备 , 并在 JVM 中引入通用 API 的运行时专业化 。
通用泛型计划提倡让 generic API 直接支持 primitive value types , 以便直接对 custom-defined primitives 进行操作;引用类型也将被支持 。 提案指出 , 理想情况下这应该是 Java 泛型的默认行为 , 这样 primitive value types 就可以完全参与到 Java 生态系统中 。 目前还没有确定通用泛型何时会出现在 Java 中 , 但预计仍需要很多年才能实现 。
且通用泛型将扩展平台中现有的泛型能力 。 2004年推出的 为语言和平台带来了泛型 , 允许开发者识别他们想要存储在集合中的内容 , 并使迭代器类型安全 。 但在 2004 年的泛型迭代中 , 开发者只能对引用类型进行泛化 。 通过将基元与引用统一起来 , 可以采取下一步措施 , 允许类型参数在所有类型上进行范围化 。
值得一提的是 , Java 并不是唯一关注泛型功能的语言 ,。
- CPU|红米k50系列基本确认,整体安排跟k40差不多,双4nm芯片确实香
- 新快报讯 记者张磊报道 2021年三季度|线上线下双“IQ”赋能,凯迪拉克LYRIQ打造更高维度的用户互联
- 85英寸双120Hz高刷屏,价格低至7777元,优质电视果然不会被冷落
- 《三生有幸遇上你》大结局:侯爵遇险,十一舍命相救
- 华为|国产科技巨头开始全面反击! 华为/小米双双上榜: 华为霸气拿下第一
- iPhone|苹果iPhone 14最新的双挖孔渲染图很丑!还不如继续用刘海屏设计
- 显卡|华为双喜临门!海思麒麟已在路上,mate50也传新消息
- TCL|TCL 98寸液晶电视,高端安桥音响加持,音画双绝
- 小米科技|现货不抢购!3200万双柔光自拍+ 8GB运存+128GB,小米另类路线
- oppo find x|3秒卖了2亿元,还斩获了双冠军,又一款“神机”要诞生了?