✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.
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 ) wird der Inhalt der Variablen verglichen. Der Inhalt einer Referenzvariablen ist aber auf ihr zugehöriges Objekt, d.h. ein Verweis auf den Ort, wo das Objekt gespeichert ist (Schnur, Fernsteuerung, ...). Das eine -Objekt ist aber nicht an genau der gleichen Stelle gespeichert, wie das andere -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 ==
(oder auch !=
String
String
false
.
Wenn zwei String
-Variablen mit ==
verglichen werden, kommt zunächst
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
Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!