java面试题
2021-03-19 18:26
标签:相同 为什么 pre new 不同 范围 als 有一个 不同的 1、为什么Java中1000==1000为false而100==100为true? 当 int 类型值 在 -127 到 127 之间,两个变量的引用地址是相同的。Integer.java 类,有一个内部私有类,IntegerCache.java缓存了从-128到127之间的所有的整数对象。 实际上是 即 而不在 -127 到 127 这个范围的时候,就执行的是new Integer(i),是两个不同的引用对象 java面试题 标签:相同 为什么 pre new 不同 范围 als 有一个 不同的 原文地址:https://www.cnblogs.com/Jomini/p/13917645.htmlInteger c = 100;
Integer i = Integer.valueOf(100);
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}