int的包装类Integer的"=="

1、值不同,使用==和equals比较都返回false

2、值相同,使用==比较:基本类型-基本类型、基本类型-包装对象返回true

                                             包装对象-包装对象返回false

jdk缓存部分常见的Integer对象:

           Integer i1 = 100;
            Integer i2 = 100;
            Integer i3 = 150;
            Integer i4 = 150;
             
            System.out.println(i1==i2); //打印true
            System.out.println(i3==i4); //打印false

         原因如下:Integer有缓存区会缓存127~-128之间的数,因此i1==i2结果为true

猜你喜欢

转载自blog.csdn.net/qq_37669050/article/details/98183902