为什么 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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容