java中使用Integer的时候 “1000==1000”为false,而”100==100“为true

java中使用Integer的时候 “1000==1000”为false,而”100==100“为true
Integer a = 1000, b = 1000;
System.out.println(a == b);
Integer c = 100, d = 100;
System.out.println(c == d);
//你会得到false
//true

基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。因此,后面一条语句也应该是false 。这就是它有趣的地方了。如果你看去看 Integer.java 类,你会发现有一个内部私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象。所以事情就成了,所有的小整数在内部缓存,然后当我们声明

java中使用Integer的时候 “1000==1000”为false,而”100==100“为true最先出现在Python成神之路

版权声明:
作者:cc
链接:https://www.techfm.club/p/11148.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>