- 1、== 与 equals 的区别
- (1)==
- (2)equals
== 比较的是变量的内存地址 ,判断两个对象的地址是否相同,也就是说,比较是否指的是同一个对象。
public static void main (String[] args) {
Integer i1 = new Integer(10);
Integer i2 = new Integer(10);
System.out.println(i1 == i2); // false
}
(2)equals
equals比较的是两个对象的内容是否相等。
注:默认情况下,Object类中的equals()方法返回的是 == 的判断,如果没有对Object类中的该方法进行覆盖,那么仍然会调用Object类中的方法。
例如,String类对equals方法进行了覆盖,改为判断两个字符串内容是否相同。
public static void main (String[] args) {
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // false
System.out.println(s1.equals(s2)); // true
}



