查看原文
其他

再见,Java泛型 T、E、K、V、新特性,劲爆!

点击关注👉 Java后端栈 2023-09-18

推荐关注

以下文章来源Java后端栈,回复”面试“获面试宝典


哈喽,各位新来的小伙伴们,大家好!由于公众号做了改版,为了保证公众号的资源能准时推送到你手里,大家记得将后端君的公众号 加星标置顶 ,在此真诚的表示感谢~

编辑:后端妹 | 来源:OSC开源社区(ID:oschina2013)

上一篇这是我见过最好的支付系统!



正文


大家好,我是栈哥。

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 进行操作;引用类型也将被支持。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

提案指出,理想情况下这应该是 Java 泛型的默认行为,这样 primitive value types 就可以完全参与到 Java 生态系统中。目前还没有确定通用泛型何时会出现在 Java 中,但预计仍需要很多年才能实现。

且通用泛型将扩展平台中现有的泛型能力。

2004年推出的 Java 2 Platform 和 Standard Edition 5.0 为语言和平台带来了泛型,允许开发者识别他们想要存储在集合中的内容,并使迭代器类型安全。但在 2004 年的泛型迭代中,开发者只能对引用类型进行泛化。

通过将基元与引用统一起来,可以采取下一步措施,允许类型参数在所有类型上进行范围化。

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

欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️ 扩展:快速开发平台

在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!


最后给读者整理了一份BAT大厂面试真题,需要的可扫码加微信备注:“面试”获取。


◆  ◆  ◆  ◆  ◆ 

(放到你圈子里,朋友们会感激您)PS:如果觉得我的分享不错,欢迎大家随手点赞、在看。本文仅供交流学习 , 版权归属原作者。温馨提示:《Java后端栈》推文内容如有侵权请您告知我们会在第一时间处理或撤销;互联网是一个资源共享的生态圈,我们崇尚分享。好文推荐:


欢迎添加栈哥个人微信 ysle007  进粉丝群或围观朋友圈

扫码关注带你吊爆Java后端技术

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存