Auf Thema antworten

[code=Java]public class Testclass {

   

  public static void main ( String[] args ) {

    String ersteswort;

    ersteswort= new String();

    ersteswort = "Hallo";

    String zweiteswort;

    zweiteswort = new String();

    zweiteswort = "Hallo";              

                                 

    if (ersteswort == zweiteswort){

      System.out.println("Wir haben die gleichen Referenzen");

                                }

    else{

      System.out.println("Wir haben unterschiedliche Referenzen");

    }

             

    if ( ersteswort.equals(zweiteswort)){

      System.out.println("Unsere String-Objekt-Inhalte sind gleich");

    }

    else{

      System.out.println("Unsere String-Objekt-Inhalte sind nicht gleich");

    }

  }

}

[/code]


Ich dachte, für "ersteswort" und "zweiteswort"  werden zwei unterschiedliche Objekte auf dem Heap erzeugt  (mit gleichem Inhalt).

Demzufolge hätte der Vergleich "ersteswort == Zweiteswort" -> "false" liefern müssen, da sie auf unterschiedliche Objekte referenzieren.

Leider bekomme ich folgende Antwort... why?

[CODE]

Wir haben die gleichen Referenzen

Unsere String-Objekt-Inhalte sind gleich

[/CODE]



Oben