Java 21中的两个值得关注的Bug修复

这篇具有很好参考价值的文章主要介绍了Java 21中的两个值得关注的Bug修复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Java 21中,除了推出很多新特性之外,一些Bug修复,也需要注意一下。因为这些改变可能在升级的时候,造成影响。

Double.toString()和Float.toString()的精度问题修复

比如:对于Double.String(1e23)

  • 在Java 19后,输出内容为:1.0E23
  • 在Java 18中,输出内容为:9.999999999999999E22

欢迎关注,持续更新的Java新特性专栏

IdentityHashMap的remove(key, value)和replace(key, value, newValue)的错误处理

IdentityHashMap是Java中自带的一个集合,是一个比较特殊的Map实现。它使用的是恒等比较(而不是equals方法)来判断两个键是否相等。

这意味着,对于同一个对象的不同引用,IdentityHashMap会将它们视为不同的键,而其他Map实现类则会将它们视为相同的键。

在Java 20之前(不含Java 20)IdentityHashMap中的remove(key, value)replace(key, value, newValue)方法,错误地将值参数与映射中的值进行了equals比较,这使得remove(key, value)replace(key, value, newValue)方法执行结果不如预期。

如下例子所示,Java 20之前是不对的,但Java 20之后可以正确实现了。

var users = new IdentityHashMap<String, User>();
String key = "abc";
users.put(key, new User("Jane Doe"));
var removed = users.remove(key, new User("Jane Doe"));
assert !removed;

如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!

欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源文章来源地址https://www.toymoban.com/news/detail-748493.html

到了这里,关于Java 21中的两个值得关注的Bug修复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Leetcode -21.合并两个有序链表 -83.删除排序链表中的重复元素】

    题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1, 2, 4], l2 = [1, 3, 4] 输出:[1, 1, 2, 3, 4, 4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] 输出:[0] 我们的思路是,先定义

    2023年04月24日
    浏览(46)
  • Chrome 115 有哪些值得关注的新特性?

    今天带大家一起来了解一下 Chrome 115 值得关注的新特性。 用滚动驱动的动画是网站上非常常见的用户体验模式,比如当页面向前或向后滚动时,对应的动画也会向前或向后移动。 比如下面图中这种比较常见的,页面顶部的进度条随着滚动而变化: 另外还可以依靠页面滚动来

    2024年02月15日
    浏览(43)
  • AI Agent 这二十个最值得关注

    当我们谈论AI Agent时,我们讨论的常常是抽象概念。但实际上,AI Agent即将进入我们的日常生活,将会在我们工作、学习中扮演着越来越重要的角色。 对于AI Agent来说,2023年是重要的一年。3月份,Agents成为主流。在Github上,相关项目短短一个月内就收获50,000颗星。 “2024年将

    2024年02月02日
    浏览(37)
  • 2023年值得关注的6个开源日志管理工具

    日志管理包含日志数据存储、处理、分析和可视化,通过利用日志管理工具,可以监控性能趋势、解决问题、检测异常并优化整体系统性能。   近年来,开源日志管理解决方案在大家寻求灵活且经济有效的方式来管理现代系统典型的大量日志数据时,获得了显著的关注。这些

    2024年02月08日
    浏览(41)
  • 2023年GitHub上最值得关注的10个开源项目

    开源软件(OSS)已经彻底改变了当今软件开发的方式。由于有数以百万计的开源GitHub项目,要浏览并找到符合你需求的最佳开源项目可能会让人不知所措。 本文列出了你应该知道的十大增长最快的开源GitHub仓库。 PaLM-rlhf-pytorch: Open Source ChatGPT Alternative RLHF + PaLM repo是一个正在

    2024年02月10日
    浏览(35)
  • selenium 4.17正式发布,这几项更新值得关注

    (全文约1400字,阅读约需4分钟,首发于公众号:测试开发研习社,欢迎关注) 两天前,selenium 正式发布了新版本  4.17 ,其中 python 版本的变化有更新更新值得关注 CDP( Chrome DevTools Protocol )支持对 Chrome 进行深度的检测、检查、设置、调试和分析,能够完成 webdriver 协议和

    2024年04月13日
    浏览(37)
  • Move 双子星之一 Sui 生态有哪些项目值得关注

    近期,在新一轮公链叙事中, 有着 Move 双子星之称的高性能新公链 Aptos 与 Sui,均收获了行业中众多开发者、明星机构和用户的广泛关注。 同时,他们的开发团队大部分来自于原 Facebook,且项目都获得了大额融资,因此两个项目难免会被做一些比较。 不过,两个项目之间孰

    2024年02月07日
    浏览(38)
  • Krypital Group:盘点未来值得关注的几个EIP方案

    原文作者:Ans,Krypital Group 原文编辑:Krypital Group 全称 Ethereum Imporvement Proposals(以太坊改进提案),  EIP 是以太坊社区治理的基本单位。 EIP 包含了提议改进的技术规范,讨论和制定以太坊的网络升级和应用标准。包括网络提案(Networking),接口提案(Interface),ERC提案(ER

    2024年01月19日
    浏览(43)
  • MySQL 8.1正式发行!有哪些值得关注的新功能?

    千呼万唤始出来的新版本MySQL 8.1及MySQL 8.0.34于2023年7月18日正式发行。从此,MySQL将开启创新版和稳定版同时发行的阶段。MySQL 8.1是MySQL的首个创新版,该版本主要增加了如下功能:   捕捉EXPLAIN FORMAT=JSON输出, 为 EXPLAIN FORMAT=JSON 增加 INTO 选项,可以将JSON格式的输出保存在一个

    2024年02月15日
    浏览(39)
  • After Effects 2023发布,有哪些值得关注的新功能?

    After Effects 2023 (版本 23.4) 发布 有哪些值得关注的新功能?AE2023改进了用户请求的工作流程并进行了重要修复,用户可在 After Effects 中更高效地工作,在不影响创意构想的情况下设计更加优质的细节。 AE2023 for Mac AE2023 新增功能如下: 文本和形状图层的“属性”面板 可在易于

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包