【发布时间】:2012-12-05 14:23:34
【问题描述】:
整数 i1 = 1000; 整数 i2 = 1000;
if(i1 == i2) 返回 false。究竟发生了什么,它是如何在这里检查这种情况的?
如果条件为真,我在 i1 和 i2 中分配的值都小于 128。对象是如何在这里创建的,它是所有值的共同点还是不同的? 有人可以澄清这种情况吗?
【问题讨论】:
-
从 JLS 的 5.1.7. Boxing Conversion 开始装箱时,缓存 -128 和 127 范围内的整数。
-
对于对象比较你应该使用equals方法
标签: java