Integer a=128;
Integer b=128;
a==b-->false.
因为超过byte的范围,所以b在引用时,直接开辟空间新建对象。
Integer a=127;
Integer b=127;
a==b-->true.
因为数值在byte范围内时,a中有一个相等byte数值,就不再新开辟空间。
另外还有一点,
byte x=123;
x+=6;
int y=x+6;
在x+=6这条语句中,只对x的二进制 0111-1011 加上6,就变成了:
0111-1011+
0000-0110
---------------
1000-0001
这个二进制表示的是-127。
byte数可以看成是一个循环:
有不对地方欢迎指正。
|
|