Rouven: == und .equals

Beitrag lesen

Hello,

Die Erklärung, dass es den Zuordnungsbefehl vergleicht, leuchtet mir leider nicht an.

so nicht, aber so ähnlich. Stell dir alles in Java, das nicht einer der Basistypen (int, long, boolean, ...) ist, vor wie deinen Zeigefinger. Wo zeigt er hin? Auf ein Objekt, in Java ist so ziemlich alles ein Objekt.
Um Strings als Beispiel zu nehmen: du schlägst zwei Bücher auf, zeigst mit dem linken Finger auf ein Wort, mit dem rechten Finger auf ein Wort. Deine Zeigefinger nennt man Referenzen, ein Verweis auf etwas. Nur weil beid Finger auf das Wort "SELFHTML" zeigen, müssen sie nicht an die selbe Stelle zeigen, wir reden ja immer noch über zwei Bücher. So arbeitet der Vergleich in Java: er vergleicht auf der Ebene der Referenzen, ergibt also nur dann wahr, wenn beide Finger auf exakt die selbe Stelle zeigen. Equals verwendest du dann, wann du wissen willst, ob beide Referenzen nicht auf das gleiche sondern ein gleichwertiges Objekt zeigen, bildlich gesprochen, ob beide deine Finger auf das selbe Wort zeigen, egal in welchem Buch.

MfG
Rouven

--
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
Don't lick your wounds: celebrate them. The scars you bear are the signs of a competitor.  --  character Richard Webber on Grey's Anatomy: 'Where the wild things are'