Maison >Java >javaDidacticiel >Tableaux Java : equals() vs Arrays.equals() – Quand utiliser lequel ?

Tableaux Java : equals() vs Arrays.equals() – Quand utiliser lequel ?

DDD
DDDoriginal
2024-12-22 08:49:44199parcourir

Java Arrays: equals() vs. Arrays.equals() – When to Use Which?

equals vs. Arrays.equals : une comparaison des méthodes de comparaison de tableaux en Java

En Java, comparer des tableaux peut être une tâche simple. Cependant, il existe des différences subtiles entre l'utilisation de la méthode equals et la méthode Arrays.equals, qui peuvent conduire à des résultats inattendus.

equals vs. Arrays.equals

Le La méthode equals est héritée de la classe Object et est utilisée pour comparer les références aux objets. Lorsqu'il est appliqué aux tableaux, array1.equals(array2) retournera true si et seulement si array1 et array2 sont le même tableau, c'est-à-dire qu'ils partagent le même emplacement mémoire.

D'un autre côté, Arrays.equals (array1, array2) compare spécifiquement le contenu des tableaux. Il renvoie vrai si les tableaux ont la même longueur et que les éléments correspondants à chaque index sont égaux.

Exemple :

Considérez le code suivant :

Object[] array1 = {1, 2, 3};
Object[] array2 = {1, 2, 3};
System.out.println(array1.equals(array2)); // false
System.out.println(Arrays.equals(array1, array2)); // true

Dans ce cas, array1 et array2 sont des tableaux distincts avec un contenu égal. Par conséquent, array1.equals(array2) renvoie false, tandis qu'Arrays.equals(array1, array2) renvoie true.

Cas d'utilisation

  • Référence Comparaison : Utilisez égal à pour déterminer si deux tableaux sont le même objet dans mémoire.
  • Comparaison de contenu : Utilisez Arrays.equals pour comparer le contenu de deux tableaux, qu'il s'agisse ou non du même objet.

Considérations supplémentaires

  • Les tableaux de types primitifs ont des comportements différents de ceux des tableaux d'objets. Pour les tableaux primitifs, equals et Arrays.equals effectuent la même comparaison de contenu.
  • L'utilisation directe de array.toString() peut ne pas fournir le résultat souhaité. Utilisez plutôt Arrays.toString(array) pour une représentation complète du contenu du 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