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};
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());
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!