Maison > Java > javaDidacticiel > La méthode `contains()` d'ArrayList compare-t-elle les références ou les valeurs d'objets ?

La méthode `contains()` d'ArrayList compare-t-elle les références ou les valeurs d'objets ?

Susan Sarandon
Libérer: 2024-12-02 06:28:10
original
299 Les gens l'ont consulté

Does ArrayList's `contains()` Method Compare Object References or Values?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal