为什么 Java 中“1000==1000”为false,而”100==100“为true?

代码


运行结果


Integer a1 =1000; 其实是Integer a1= Integer.valueOf(1000);


valueOf

 Integer.java 类,你会发现有一个内部私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象,所以100返回同一个对象(true),1000其实是返回不同的对象(false)

你可能感兴趣的:(为什么 Java 中“1000==1000”为false,而”100==100“为true?)