package basic;
import java.lang.Integer.IntegerCache;
public class Test {
public static void main(String[] args) {
Integer i1 = new Integer(97);
Integer i2 = new Integer(97);
System.out.println(i1.equals(i2));//true,下面是源代码
/* public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}*/
System.out.println(i1 == i2);//false
System.out.println("=========");
/**
* -128~127是byte的取值范围,如果在这个范围,自动装箱不会创建新对象,在常量池中获取
* 否则就会创建新对象
*/
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);//false
/* public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}*/
System.out.println(i3.equals(i4));//true
Integer i5 = 127;
Integer i6 = 127;
System.out.println(i5 == i6);//true
}
}
面试常问:包装类的比较
猜你喜欢
转载自blog.csdn.net/zhanxiaoyier/article/details/81408974
今日推荐
周排行