当前位置: 首页 > 工具软件 > Autobox2 > 使用案例 >

java 中的int和integer 自动装箱(autobox)

盛柏
2023-12-01

见如下代码:

 

——————我是分割线————————————

第一段代码i1 == i2,第二段代码却是i1 != i2

这是因为  

在自动装箱时对于值从-128到127 之间的值 , 他们被装箱为integer对象后 , 会在内存之中被重用 , 也就是说代码一中的两个i的引用是同一个,第二段代码中的两个i的引用不是同一个!而equals()方法是比较两个对象的引用!!

        Integer i1 = 200;
        Integer i2 = 200;
 
        if (i1.equals(i2))
            System.out.println("i1 == i2");
        else
            System.out.println("i1 != i2");


THE END^_^

 

 类似资料: