Sobes.tech
Junior — Middle

Comment doit-on effectuer la comparaison d'objets en programmation?

sobes.tech IA

Réponse de l'IA

En Java, la comparaison des objets dépend de ce que vous souhaitez comparer précisément :

  1. Comparaison des références (objets) pour l'égalité :

    • Utilisez l'opérateur ==.
    • Vérifie si deux variables pointent vers le même objet en mémoire.
  2. Comparaison du contenu des objets :

    • Utilisez la méthode .equals().
    • Par défaut (dans la classe Object), elle compare les références, mais de nombreuses classes (par exemple, String, Integer) redéfinissent cette méthode pour comparer le contenu.

Exemple :

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, objets différents
System.out.println(a.equals(b));  // true, contenu identique

Recommandations :

  • Pour comparer le contenu, utilisez toujours .equals(), si la classe l'implémente correctement.
  • Pour vérifier si deux références pointent vers le même objet, utilisez ==.
  • Lors de la création de vos propres classes, il est conseillé de redéfinir la méthode equals() (et hashCode()) pour une comparaison correcte des objets par contenu.