首先看一下Byte类结构图。
Byte继承了Number抽象类,实现了Comparable接口,还有序列化接口。
1、public static final byte MIN_VALUE = -128; public static final byte MAX_VALUE = 127;
这分别是byte对应的最大值和最小值,有一个比较常见的基础笔试题,什么情况下a+1<a,指的就是这种数值越界情况。
byte b = (byte)(127+1);
System.out.println(b);
结果:-128
2、toString方法,先将byte转为int,参数10的意思是10进制,然后调用Integer包装类的toString方法。把数字转换为字符串。底层新建了一个char数组,将这个数组作为参数新建了一个String对象。
public static String toString(byte b) { return Integer.toString((int)b, 10); }
3、私有的静态成员内部类ByteCache
这个内部类初始化了一个大小为byte范围大小的Byte数组,并通过静态块为其初始化赋值。