java整数对象是如何创建的?
Possible Duplicate:
How != and == operators work on Integers in Java?
整数i1=1000; 整数i2=1000
如果(i1==i2)为false,则返回false。到底发生了什么?它是如何检查这种情况的
如果条件为真,则在i1和i2中分配小于128。对象是如何在这里创建的,它是所有值的comman还是不同值的comman? 有人能澄清一下这种情况吗
你可以在下面搜索框中键入要查询的问题!
Possible Duplicate:
How != and == operators work on Integers in Java?
整数i1=1000; 整数i2=1000
如果(i1==i2)为false,则返回false。到底发生了什么?它是如何检查这种情况的
如果条件为真,则在i1和i2中分配小于128。对象是如何在这里创建的,它是所有值的comman还是不同值的comman? 有人能澄清一下这种情况吗
# 1 楼答案
是的,这是因为Java使用flyweight模式并缓存
Integer
对象,所以您可以得到缓存版本的支持,并且==
可以工作这是可能的,因为
Integer
对象是不可变的,并且缓存仅用于范围[-128,127]