Soit A une classe avec certains membres comme x, y, z:Quel est le comportement par défaut de Equals Method?
Class A {
int x;
int y;
String z;
...
}
A est un objet pour qu'il hérite des fonctions « Égal » définies dans l'objet. Quel est le comportement par défaut de cette fonction? Est-ce qu'il vérifie l'égalité des membres ou vérifie-t-il l'égalité de référence?
Les choses sont en réalité plus compliquée pour les types de valeur: ce n'est pas la comparaison d'égalité de aways. Voir cette question pour plus de détails http://stackoverflow.com/q/8315656/129073 – Gebb
chaîne est spéciale. string.equals est l'égalité au niveau du bit, tandis que la chaîne est le type de référence. –
@WillYu Pas d'égalité au niveau du bit. Il teste si les caractères sont les mêmes. L'égalité des bits signifie que toutes les méta-données .NET (comme si la chaîne est internée ou non) seraient les mêmes. Ce n'est pas non plus spécial (à cet égard), il remplace simplement Equals, et surcharge l'opérateur d'égalité (in). L'implémentation par défaut pour cela serait toujours l'égalité de référence. – Aidiakapi