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).

zwei Objekte mit gleichen Daten

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?
zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite