Angenommen, dass artikelA == artikelB und, dass artikelB == artikelC. Wie viele Objekte gibt es?

Eine gute Antwort wäre:

Genau ein Objekt (und drei Referenzvariablen, von denen jede darauf verweist.)

Die Methode equals()

Sie haben bereits die Methode equals( String ) der Klasse String gesehen.

Die Methode equals( String ) der Klasse String überprüft, ob zwei Strings die gleichen Zeichen enthalten.

Die Methode equals( String ) betrachtet Objekte. Sie ermittelt "Äquivalenz". Der == -Operator ermittelt "Identität". Zum Beispiel,

String strA;  // erstes Objekt
String strB;  // zweites Objekt

strA   = new String( "Der Gingham Hund" );
strB   = new String( "Der Gingham Hund" );

if ( strA.equals( strB  )  )
  System.out.println( "Dies WIRD ausgegeben.");

if ( strA == strB )
  System.out.println( "Dies wird NICHT ausgegeben.");

In diesem Beispiel sind zwei Objekte (jedes Objekt hat seine eigene Identität, also meldet == false). Jedes Objekt enthält äquivalente Daten (also meldet die equals() Methode true).

FRAGE 19:

Wenn Sie von einem Blatt Papier eine Fotokopie machen würden, hätten Sie zwei Blatt Papier.

  1. Sind Papierblätter einzelne Objekte?
  2. Ist das erste Blatt == mit dem zweiten Blatt?
  3. Sind die Daten eines jeden Blattes die gleichen, wie die des anderen?
  4. Ist das erste Blatt equals() mit dem zweiten Blatt?
Inhaltsverzeichnis