Maison > Java > javaDidacticiel > En quoi `equals()` et `Arrays.equals()` diffèrent-ils lors de la comparaison de tableaux en Java ?

En quoi `equals()` et `Arrays.equals()` diffèrent-ils lors de la comparaison de tableaux en Java ?

Mary-Kate Olsen
Libérer: 2024-12-26 02:08:09
original
403 Les gens l'ont consulté

How Do `equals()` and `Arrays.equals()` Differ When Comparing Arrays in Java?

Equals vs. Arrays.equals en Java

Lorsque vous traitez des tableaux en Java, comprendre les différences entre les méthodes égales et Arrays.equals est crucial pour garantir un tableau précis comparaisons.

array1.equals(array2)

Cette expression compare l'égalité de référence des deux tableaux. En d’autres termes, il vérifie si array1 et array2 sont le même objet tableau, quel que soit leur contenu. Bien que ce comportement puisse correspondre aux attentes, il est important de noter qu'il effectue une comparaison superficielle, comparant les adresses mémoire des tableaux plutôt que leurs valeurs réelles.

Arrays.equals(array1, array2)

En revanche, Arrays.equals(array1, array2) effectue une comparaison approfondie du contenu des tableaux. Il parcourt chaque élément des deux tableaux, en les comparant pour vérifier leur égalité. Cette méthode renvoie vrai si tous les éléments correspondants sont égaux, sinon elle renvoie faux.

Par exemple, considérons les tableaux suivants :

int[] array1 = {1, 2, 3};
int[] array2 = {1, 2, 3};
Copier après la connexion

L'utilisation de array1.equals(array2) renverrait false car ce sont des objets de tableau différents, tandis que Arrays.equals(array1, array2) renverrait true car ils ont le même content.

De même, la méthode toString() appliquée à un tableau peut ne pas fournir le résultat souhaité. Considérez ce code :

int[] array3 = {4, 5, 6};
System.out.println(array3.toString());
Copier après la connexion

Cela afficherait "[I@1873311", qui représente l'adresse mémoire du tableau3. Au lieu de cela, utiliser Arrays.toString(array3) afficherait "[4, 5, 6]", fournissant une représentation plus informative du contenu du tableau.

Comprendre les distinctions entre égal, Arrays.equals et toString( ) est essentiel pour une gestion précise et efficace des tableaux en Java.

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