Nein. Wir sollten immer den ==
-Operator verwenden, wenn wir auf Gleichheit der Referenzen abfragen.
Hier ist (noch einmal!) das Beispielprogramm mit dieser Änderung:
import java.awt.*; class EqualsDemo4 { public static void main ( String arg[] ) { Point pointA = new Point( 7, 99 ); // pointA verweist auf ein Point-Objekt Point pointB = pointA; // pointB verweist auf dasselbe Objekt if ( pointA.equals( pointB ) ) { System.out.println("Die zwei Variablen verweisen auf dasselbe Objekt,"); System.out.println("oder auf verschiedene Objekte mit gleichen Daten."); } else System.out.println("Die zwei Variablen verweisen auf verschiedene Objekte"); } }
Die Abbildung der Situation ist die gleiche wie zuvor.
Aber jetzt wird die equals()
Methode verwendet.
true
zurück.
Die Tatsache, dass das Objekt in Schritt 1 und Schritt 2 dasselbe ist, spielt keine Rolle. Die x, die überprüft werden, sind die gleichen und die y, die überprüft werden, sind die gleichen, also ist das Ergebnis wahr.
Wenn der ==
-Operator true
zurückgibt, wird dann die equals()
Methode true
zurückgeben, immer?