9.Float类源码解析
2018-08-14 本文已影响0人
CNCF
Float 和Double实际上一个模子印出来的,为什么这么说,往下看
1.
正无穷大,负无穷大,NaN值(非数字值,常值),最大正有限值,最小正常值,最小正非零值类型,最大精度,最小精度,float值的位数,float值的字节数,float的原生类,为装箱类型,value属性,和序列化id,这边就不多详细介绍了。
2.
三个构造函数,第三个调用了FloattingDecimal的方法,我们就不深挖了。
3.
toString方法,底层也是走FloatDecimal下的toJavaFormatString方法。
4.
返回十六进制字符串float形式,底层调用的是Double的toHexString方法,在上一篇中我有介绍过。
5.
获得Float的实例,第二个方法是优于构造函数使用。
6.
非空值,自己不等于自己
7.
判断是否是无穷数值,就是和POSITIIVE_INFINITY于NEGATIVE_INFINITY比价。
8.
是否是有限数值。
9.
这两个方法调用的方法,都是之前调用的方法。
10.
都是直接转化返回。
11.
获取float的hashCode值底层是将float的值转化为int。调用本地方法floatToRawIntBits.
12.
equals比较底层拿的还是value值的比较。
13.
与double的类似,直接比大小,后面的方法考虑到NaN的比较。
14.
加法直接加,max和min 都是调用的Math的方法。