黑马程序员技术交流社区

标题: Byte常量池怎么可以赋值给Integer比较大小啊? [打印本页]

作者: 双元黑马12    时间: 2015-9-16 23:50
标题: Byte常量池怎么可以赋值给Integer比较大小啊?
Integer i5 = 128;
                Integer i6 = 128;
                System.out.println(i5 == i6);
                System.out.println(i5.equals(i6));

                Integer i7 = 127;
                Integer i8 = 127;
                System.out.println(i7 == i8);
                System.out.println(i7.equals(i8));
作者: 芝麻糊    时间: 2015-9-16 23:59
false
true
true
true
Integer i6 = 128;  实际是  Integer i6 = new Integer(128) ;  这是JDK1.5基础数据类型包装类自动装箱的特性
对于这个特性
如果要赋值的数值在byte范围内容,如果该数值在常量池中存在,则不会在开辟新的空间。
直接将指针指向该数据
作者: meihua    时间: 2015-9-17 09:27
楼上正解
作者: ln0491    时间: 2015-9-17 09:37
学习了,一直不知道128会有问题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2