二つのObject型に対する equals メソッドはObject型参照変数のアドレスが一緒であれば true となります。== と同じ。
ObjectEquals.java
public class ObjectEquals {
public static void main(String[] args) {
Object obj1 = new Object();
Object obj2 = new Object();
Object obj3 = obj2;
System.out.println(obj1 == obj2);
System.out.println(obj1.equals(obj2));
System.out.println(obj3 == obj2);
System.out.println(obj3.equals(obj2));
}
}
false
false
true
true
と表示されます。
以下「Java(tm) Platform, Standard Edition 8 API仕様」 Object#equals からの引用です。
(https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Object.html)
Objectクラスのequalsメソッドは、もっとも比較しやすいオブジェクトの同値関係を実装します。つまり、null以外の参照値xとyについて、このメソッドはxとyが同じオブジェクトを参照する(x == yがtrue)場合にだけtrueを返します。
(shiracamusさんからアドバイスをいただきました。ありがとうございます。)
。