Maison > Java > javaDidacticiel > Tableaux Java : quand dois-je utiliser « equals() » ou « Arrays.equals() » ?

Tableaux Java : quand dois-je utiliser « equals() » ou « Arrays.equals() » ?

Patricia Arquette
Libérer: 2024-12-22 22:07:14
original
939 Les gens l'ont consulté

Java Arrays:  When Should I Use `equals()` vs. `Arrays.equals()`?

Dévoilement des différences : égal à vs Arrays.equals en Java

Lorsque l'on traite des tableaux en Java, il est crucial de comprendre les nuances entre les deux méthodes de comparaison : égal et Tableaux.égaux. Les deux méthodes répondent à des objectifs distincts et leur choix dépend de l'opération souhaitée.

1. equals(array1, array2)

Objectif : Vérifie si array1 et array2 font référence à la même instance de tableau en mémoire. En d'autres termes, il vérifie s'il s'agit du même objet tableau.

Résultat :

  • Si array1 et array2 sont le même tableau, égal à(array1, array2) renvoie vrai.
  • Sinon, il renvoie false.

Remarque : Cela équivaut à utiliser l'opérateur == pour comparer des tableaux, qui vérifie également l'égalité des références. Cependant, il ne s'agit pas d'un comportement typique pour les comparaisons de tableaux, car il ne compare pas le contenu du tableau.

2. Arrays.equals(array1, array2)

Objectif : Compare le contenu du tableau1 et du tableau2 élément par élément.

Résultat :

  • Si array1 et array2 ont la même longueur et que tous leurs éléments correspondants sont égaux, Arrays.equals(array1, array2) renvoie true.
  • Sinon, il renvoie false.

Remarque : Il s'agit de la méthode préférée pour comparer le contenu d'un tableau, en veillant à ce que les valeurs dans les tableaux soient les mêmes.

Différence clé

La principale différence entre égaux et Arrays.equals réside dans leur objectif. equals compare les références du tableau, tandis qu'Arrays.equals vérifie le contenu du tableau.

Implications pratiques

Comprendre cette distinction devient cruciale lors de la comparaison de tableaux dans le code. Par exemple, considérons le scénario suivant :

int[] array1 = {1, 2, 3};
int[] array2 = {1, 2, 3};
boolean equalRef = array1.equals(array2);
boolean equalContent = Arrays.equals(array1, array2);
Copier après la connexion

Ici, array1 et array2 ont le même contenu, mais ce sont des instances de tableau différentes. Par conséquent, égalRef sera faux, tandis qu'égalContent sera vrai.

Conclusion

Comprendre les différences entre égal et Arrays.equals est essentiel dans la manipulation de tableaux Java. En choisissant la méthode appropriée en fonction de l'opération souhaitée, les développeurs peuvent garantir une comparaison précise et efficace des tableaux.

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