Maison >Java >javaDidacticiel >Comparaison des tableaux Java : `equals()` et `Arrays.equals()` - Quelle est la différence ?

Comparaison des tableaux Java : `equals()` et `Arrays.equals()` - Quelle est la différence ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-28 16:51:12255parcourir

Java Array Comparison:  `equals()` vs. `Arrays.equals()` - What's the Difference?

Comparaison de tableaux en Java : égal à Arrays.equals

Lors de la comparaison d'objets tableau en Java, il est important de comprendre les différences subtiles entre égaux et Arrays.equals.

est égal à Opérateur

L'opérateur égal en Java compare si deux références font référence au même objet en mémoire. Lorsqu'il est appliqué aux tableaux, cela signifie qu'il vérifie si les deux références du tableau pointent vers la même instance du tableau.

Object[] array1, array2;
array1.equals(array2);

Dans ce cas, si array1 et array2 font référence au même objet tableau, le résultat sera vrai. Sinon, ce sera faux.

Méthode Arrays.equals

En revanche, la méthode Arrays.equals compare le contenu de deux tableaux. Il vérifie si les tableaux ont le même nombre d'éléments et si les éléments correspondants sont égaux.

Arrays.equals(array1, array2);

Si array1 et array2 ont le même contenu, le résultat sera vrai. Sinon, ce sera faux.

Différences clés

La principale différence entre égal et Arrays.equals est que égal compare les références tandis qu'Arrays.equals compare le contenu.

Exemples

Considérez ce qui suit exemples :

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = new int[] { 1, 2, 3 };

Dans ce cas, array1.equals(array2) sera faux car array1 et array2 sont deux objets tableau différents. Cependant, Arrays.equals(array1, array2) sera vrai car le contenu des tableaux est le même.

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = array1;

Dans ce cas, array1.equals(array2) et Arrays.equals(array1, array2 ) seront tous deux vrais car array1 et array2 font référence au même objet tableau.

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!

Déclaration:
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