如何创建Integer对象?

时间:2012-12-18 11:28:24

标签: java

  

可能重复:
  How != and == operators work on Integers in Java?

整数i1 = 1000; 整数i2 = 1000;

if(i1 == i2)返回false。究竟是怎么回事这里检查这个条件的呢?

如果条件为真,如果i在i1和i2中分配的值小于128,则为

。如何在这里创建对象,它是所有值的comman还是不同的? 有人可以澄清这种情况。

1 个答案:

答案 0 :(得分:3)

  

如果我在i1和i2中分配小于128,如果条件为真

是的,因为对于该范围,Java使用flyweight模式并缓存Integer个对象,因此您获得了缓存版本的支持,==工作了 这是可能的,因为Integer对象是不可变的,并且缓存仅适用于范围[-128,127]