有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java整数对象是如何创建的?

Possible Duplicate:
How != and == operators work on Integers in Java?

整数i1=1000; 整数i2=1000

如果(i1==i2)为false,则返回false。到底发生了什么?它是如何检查这种情况的

如果条件为真,则在i1和i2中分配小于128。对象是如何在这里创建的,它是所有值的comman还是不同值的comman? 有人能澄清一下这种情况吗


共 (1) 个答案

  1. # 1 楼答案

    if i assign lesser than 128 in both i1 and i2 if condition is true

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