Integer a=1,b=1,c=500,d=500;a==b,c==d;

public class test {
    public static void main(String[] args){
        Integer a=1,b=1,c=500,d=500;
        System.out.println(a==b);
        System.out.println(c==d);
    }
}

输出:true

        false

解释:Integer类似于String,当Integer的值在范围[-128,127]时,Integer不会生成新的对象,会直接从缓存中获取对象的引用。当超出这个范围后,会生成新的Integer对象。

参考:https://blog.csdn.net/qq_405930170/article/details/45080545

原文地址:https://www.cnblogs.com/jixiegongdi/p/10703398.html