Maison >Java >javaDidacticiel >La méthode `contains()` d'ArrayList utilise-t-elle l'égalité d'objet ou l'égalité de référence ?
Comprendre la comparaison d'objets dans la méthode contain() d'ArrayList
La méthode contain() dans ArrayList évalue si un objet donné existe dans la liste. Lors de la détermination de l'égalité des objets, ArrayList utilise la méthode equals() définie dans la classe de l'objet.
Considérez le scénario suivant : vous créez un objet Thing avec une valeur entière et l'ajoutez à une ArrayList. Si vous créez par la suite un autre objet Thing avec une valeur identique, la méthode contain() les identifiera-t-elle comme équivalents ?
Considérations d'implémentation
Pour que la méthode contain() renvoie true, la méthode equals() dans la classe Thing doit être implémentée de manière appropriée. Dans ce cas, la méthode equals() compare correctement la variable d'instance de valeur entre les objets, renvoyant true s'ils sont identiques.
Conclusion
La méthode contain() dans ArrayList délègue la comparaison d'objets à la méthode equals() définie dans la classe de l'objet. En implémentant equals() pour comparer les variables d'instance pertinentes, vous pouvez vous assurer que les objets sont correctement identifiés comme égaux ou non dans les opérations ArrayList.
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!