Operatoren für den Gleichstellungsvergleich in Java und C#: Equals vs. ==
beim Vergleich von Variablen für Gleichheit, Entwickler zwischen der "Operatorin" == "Operator und der" Equals "-Methode. Das Verständnis der Unterscheidung zwischen diesen Ansätzen ist für eine effektive Codekonstruktion von entscheidender Bedeutung.
in Java und C# == führt die Referenzgleichheit durch, die bestimmt, ob zwei Referenzen auf dasselbe Objekt im Gedächtnis verweisen. gleich ist jedoch eine Methode, die die Werte typischerweise vergleicht und Objektreferenzen ignoriert.
Es gibt eine geringfügige Variation in C#, wobei die Überlastung des Bedieners benutzerdefinierte Gleichstellungsvergleiche zulässt. Wenn für die verglichenen Variablen eine Überladung definiert ist, wird das Standardverhalten der Standardreferenzgleichheit überschrieben. In Java ist eine solche Überladung nicht verfügbar.
Die "Gleiche" -Methode wird aus der "Objekt" -Klasse in beiden Sprachen vererbt und kann in abgeleiteten Klassen überschrieben werden. Die Standard -Implementierung prüft nach Referenzgleichheit, Unterklassen können jedoch einen Vergleich des benutzerdefinierten Wertes für die Gleichstellung implementieren. Es ist erwähnenswert, dass der Ausführungs-Zeit-Typ des Objekts die Methodenimplementierung bestimmt und nicht den Kompilierungszeittyp.
Wenn eine der verglichenen Variablen null ist, führt der Versuch, "Equals" aufzurufen, zu einer Laufzeitausnahme. Daher ist es wichtig, Nullvergleiche angemessen zu behandeln, bevor die Methode "gleich" verwendet wird.
.Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3