sei A eine Klasse mit einigen Mitgliedern als X, y, z:Was ist das Standardverhalten der Equals-Methode?
Class A {
int x;
int y;
String z;
...
}
A ist ein Objekt, damit er die "gleich" Funktionen definiert in Objekt erbt. Was ist das Standardverhalten dieser Funktion? Prüft es die Gleichheit der Mitglieder oder prüft es auf Gleichheit?
Dinge sind eigentlich mehr für Werttypen kompliziert: es Gleichheit Vergleich nicht aways biwise ist. Siehe diese Frage für Details http://stackoverflow.com/q/8315656/129073 – Gebb
Zeichenfolge ist speziell. string.equals ist bitweise gleich, während string der Referenztyp ist. –
@WillYu Nicht bitweise Gleichheit. Es testet, ob die Zeichen identisch sind. Bitweise Gleichheit würde bedeuten, dass alle .NET-Metadaten (z. B. ob die Zeichenfolge interniert ist oder nicht) identisch sind. Es ist auch nicht speziell (in dieser Hinsicht), es überschreibt gerade Equals und überlädt den (in) Gleichheitsoperator. Die Standardimplementierung dafür wäre immer noch Referenzgleichheit. – Aidiakapi