黑马程序员技术交流社区
标题:
请教
[打印本页]
作者:
小虎199406
时间:
2015-6-22 10:28
标题:
请教
请教一下各位 为什么会是这样
Integer m=128;
Integer n=128;
Syatem.out.println(m==n);
复制代码
结果是false !!!!!!!!到底怎么回事 谢谢
作者:
lvzhfeng
时间:
2015-6-22 10:40
Integer m=128;
复制代码
完成了自动装箱操作,相当于执行了
Integer m = new Integer(m);
复制代码
所以你做了两次装箱,虽然值一样,但却是new了两个不同的对象
我想Integer类不想String,应该是没有复写equals方法,所以你直接用==比,比的应该是两个对象的
地址值并不是你认为的赋予的值,这是两个不同的对象,地址值当然不会相同
作者:
lvzhfeng
时间:
2015-6-22 10:41
上边写错了,应该是
Integer m = new Integer(128);
复制代码
作者:
腹黑生姜
时间:
2015-6-22 22:03
byte范围是:-128~127,超过范围会开辟新空间,所以如果是127那么就是true,可以试一下!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2