ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

OpenJDK 提案将为 Java 带来通用泛型

2021-11-29 19:30:00  阅读:190  来源: 互联网

标签:JEP 通用 OpenJDK 基元 泛型 Java 提案


Infoworld 消息指出,根据 OpenJDK 提案,Java 将获得通用泛型(universal generics),此举旨在使该语言更易于使用。不过该规划本身需要花费数年时间才能实现。

通用泛型最初将通过 OpenJDK 社区中的三个提案来实现。甲骨文方面表示,这些提议将极大地改变 Java 语言和 JVM,结合类的灵活性和基元的性能。 一切(包括基元)都将成为一个对象。 但是所选择的路径并不会降低基元的性能,而是使类的性能与基元一样。

三个 JDK Enhancement Proposals(JEP)中的每一个都提供了不同的功能,但想要达到预期的效果,则需要结合这三个提案。其中最主要的是一份于 2 月创建并于 10 月 29 日更新的 JEP 草案,它要求通过允许 Java 类型变量覆盖这两种类型来统一对泛型代码中引用和原始值类型的处理。将会产生新的 warnings,以维护通用代码的安全保证。

使用用户声明的原始对象增强 Java 对象模型的第二个 JEP 将作为先决条件;计划将基本基元与对象统一起来的第三个 JEP,预计也会推进。其他 JEP 则将随之更新标准库、解决 null warnings 和使库为专业化做好准备,并在 JVM 中引入通用 API 的运行时专业化。

通用泛型计划提倡让 generic API 直接支持 primitive value types,以便直接对 custom-defined primitives 进行操作;引用类型也将被支持。提案指出,理想情况下这应该是 Java 泛型的默认行为,这样 primitive value types 就可以完全参与到 Java 生态系统中。目前还没有确定通用泛型何时会出现在 Java 中,但预计仍需要很多年才能实现。

且通用泛型将扩展平台中现有的泛型能力。2004年推出的 Java 2 Platform 和 Standard Edition 5.0 为语言和平台带来了泛型,允许开发者识别他们想要存储在集合中的内容,并使迭代器类型安全。但在 2004 年的泛型迭代中,开发者只能对引用类型进行泛化。通过将基元与引用统一起来,可以采取下一步措施,允许类型参数在所有类型上进行范围化。

值得一提的是,Java 并不是唯一关注泛型功能的语言,Go 1.18 也计划支持泛型

 

标签:JEP,通用,OpenJDK,基元,泛型,Java,提案
来源: https://blog.csdn.net/hnityyds/article/details/121617370

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有