public class Test {
public static void main(String[] args){
Object a = new Object();
Object b = new Object();
String c = new String();
String d = new String();
System.out.println(a==b);
System.out.println(a.equals(b));
System.out.println(c==d);
System.out.println(c.equals(d));
}
}
返回的结果为:
false
false
false
true
显然,“==”比较的为对象的地址;而对象的equals()方法在所有方法的父类Object中比较的也是对象的地址,但是在Object的其他子类当中有许多的类都将equals()方法进行了重写成为了比较对象的值。