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