Ja. Sie müssen jedoch vorsichtig sein, wie Sie das Ergebnis verwenden.
Hier ist das Beispielprogramm (noch einmal!), 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 verschiedene Objekte mit den gleichen Daten." );
}
else
System.out.println( "Die zwei Variablen verweisen auf verschiedene Objekte" );
}
}
Die Abbildung der Situation ist die gleiche als wie zuvor.
Aber jetzt wird die equals() Methode verwendet. Sie:
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.