logo

Crowdly

Referenzdatentypen vergleichen Wenn man den Inhalt von Referenzdatentypen ver...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

Referenzdatentypen vergleichen

Wenn man den Inhalt von Referenzdatentypen vergleichen möchte, stößt man

auf ein Problem. Ein Beispiel dafür ist, wenn man überprüfen möchte, ob

ein eingegebener Text mit einem gespeicherten Text übereinstimmt. Das

folgende Programmbeispiel zeigt dieses Problem:

Was passiert hier in diesem Beispiel? Wenn man sich das Speicherbild

vorstellt, kommt man der Lösung näher:

Beim Vergleich mit == (oder auch !=

) wird der Inhalt der Variablen

verglichen. Der Inhalt einer Referenzvariablen ist aber

die Referenz

auf ihr zugehöriges Objekt, d.h. ein Verweis auf den Ort, wo das Objekt

gespeichert ist (Schnur, Fernsteuerung, ...). Das eine

String

-Objekt

ist aber nicht an genau der gleichen Stelle gespeichert, wie das andere

String

-Objekt (was ja auch nicht sein kann, da zwei unterschiedliche

Objekte nicht an der gleichen Stelle sein können - oder hast du schon

einmal 2 Dinge genau an der gleichen Stelle gesehen?). Deshalb ist auch

ihre Referenz nicht gleich. Und damit liefert der Vergleich der beiden

Referenzen

false.

Ergänze folgende Zusammenfassung und beantworte die Fragen:

  • Wenn zwei String-Variablen mit == verglichen werden, kommt zunächst

    Compiler-Fehler.

  • Obwohl beide String-Variablen auf den inhaltlich gleichen Text verweisen, ist das Ergebnis eines String-Vergleiches mit == oft (speziell wenn einer der String-Werte eingelesen wurde).

  • Der Grund dafür ist, dass mit == der Inhalt der Variablen verglichen wird, und dieser ist jeweils eine .

  • Eine Referenz gibt aber

    an. Und dieser kann bei 2 Objekten eben
    gleich sein.

More questions like this

Want instant access to all verified answers on elearning.tgm.ac.at?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!