Comment la méthode contain() d'ArrayList détermine l'égalité des objets
Question :
Considérez une ArrayList contenant un objet nommé 'chose' construit avec l'entier 100. Si un deuxième objet nommé 'un autre' est créé avec la même entrée de constructeur, la méthode contain() d'ArrayList évaluera-t-elle 'chose' et 'un autre' comme égaux ?
Réponse :
ArrayList contient () s'appuie sur la méthode equals() pour déterminer l'égalité des objets. Par défaut, cette méthode compare les références d'objets plutôt que leur contenu.
Dans l'extrait de code fourni, la classe Thing remplace la méthode equals() pour comparer le champ de valeur. Ainsi, la méthode contain() retournera true si « chose » et « autre » ont la même valeur, qu'il s'agisse ou non des mêmes références d'objet.
Implémentation pour le contrôle d'égalité :
Oui, l'implémentation fournie de la classe Thing, qui remplace la méthode equals() en fonction de la valeur, fera que contain() renvoie true pour les objets avec des valeurs identiques. La substitution d'equals() est nécessaire pour comparer le contenu (champ de valeur) au lieu des références d'objet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!