zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

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

Antwort:

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

Die Methode equals()

Wir 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 (Gleichheit der Daten). 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 gibt es 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 20:

Wenn wir von einem Blatt Papier eine Kopie machen, haben wir 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?