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 KlasseStringü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.
- Sind Papierblätter einzelne Objekte?
- Ist das erste Blatt
==mit dem zweiten Blatt? - Sind die Daten eines jeden Blattes die gleichen, wie die des anderen?
- Ist das erste Blatt
equals()mit dem zweiten Blatt?
