7.Byte类源码解析

2018-08-09  本文已影响0人  CNCF

1.

前面两个,一个最大值,一个最小值,不多说,为什么是-128到127 应该不需要我解释了吧,第三个方法,是不是和Boolean中的类似,博主思前想后,想到了包装类型,这玩意儿应该就是为了这个东西准备的。

2.

byte实质是带符号的单字节整数,最高位是符号位,所以看到为什么toString方法后面转成了int类型,Integer中的toString方法

3.

内部私有静态类,里面它定义一个静态常量Byte数组,并初始化 大小256,然后为这个数组每个元素赋了值,博主思考了很久,觉得这货应该是一个缓存值,基本数据类型都有。

4.

这里可以看到两个构造函数,由于调用了parseByte方法,我就一起讲了,并且他还重载, 我就一起拿过来了,没有什么花头,String 转成Byte 底层实际上也就是先转成int 再转成Byte 。

5.

这三个valueOf 放一起讲,归根结底就是调的第一个方法,那么第一个方法到底做了什么事情?实际上就把b的值扔进了cache中,如果不需要新的Byte实例,则该方法通常优先于构造函数,因为所有字节值都被缓存,因此该方法可能会产生显着更好的空间和时间性能。

6.

将字符串解码为Byte类型,调用了Integer底层的decode方法。

7.

这里几个都是获取Byte的值,只是返回的类型都做了转化。

8.

不多说了

9.

byte的hashCode似乎没有什么特别的操作,直接就返回了byte转化成int的值。

10.

比较,直接比较value。

11.

比较,第一个方法,直接调的第二个方法,返回的是两个值的差。谁大谁小看结果正负就知道。

12.

第一个通过无符号转换将参数转换为整数。 第二个通过无符号转换将参数转换为long。 这两个是1.8新加入的方法。

13.

第一个是用来表示于二进制补码形式的byte值的比特数,第二个用来表示于二进制补码形式的byte值的字节数

PS:哪里不对可以在评论中指出,我都会一个个看的,觉得少东西也可以评论中提出来,我会做补充。

上一篇下一篇

猜你喜欢

热点阅读