共同学习:
int a = 127; Integer b = new Integer(127); System.out.println(a==b);
如果比较地址的话,只有Integer b有引用地址,int a没有。
System.out.println(a==b); //这里实际上是:a == b.intValue() 所以会返回true
int a = 127; Integer b = new Integer(127); System.out.pritnln(b.equals(a))
使用integer的equeals方法时会比较的是里面的值
Integer重载了equals方法,实现如下:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
System.out.println(a==b);System.out.pritnln(b.equals(a));比较的都是两个数值多以两个都返回true
如果是
Integer b=new Integer(127);
Integer a=new Integer(127);
System.out.println(a==b);
结果就是false
|