我是靠谱客的博主 听话巨人,最近开发中收集的这篇文章主要介绍JAVA Double Float包装类0.0与-0.0 equals返回 false 问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JAVA中 Double或者Float包装类中的equals方法与对应数值型的比较略有区别

 1.  equals使用了XXXToLongBits方法将浮点数转换成long型比较
 
 2.  正数和负数转换有所区别,0.0d转换为0 ;-0.0d转换为-9223372036854775808
 其他情况正数与其相反数与转换结果一一对应,也互为相反数
 
 3.  -0.0+0.0=0.0
 
 4.  使用集合时,如HashMap,Double为Key时请注意 
 new Double(0d).equals(new Double(-0.0d)) 结果为 false  

最后

以上就是听话巨人为你收集整理的JAVA Double Float包装类0.0与-0.0 equals返回 false 问题的全部内容,希望文章能够帮你解决JAVA Double Float包装类0.0与-0.0 equals返回 false 问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部