Anita: == und .equals

N'Abend,

wie muss ich mir das Doppelgleichheitszeichen vorstellen nachdem es ja scheinbar nicht wie in PHP und anderen Sprachen verwendet wird um if(irgendwas==irgendwas_andres)... festzustellen..?
Die Erklärung, dass es den Zuordnungsbefehl vergleicht, leuchtet mir leider nicht an.

Danke schonmal

  1. 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'
    1. Danke, habs tatsächlich verstanden :-)