Quelle est la différence entre == et equals() en Java?

Je tenais à préciser que si je comprends bien:

  • == -> est une référence de comparaison, c'est à dire à la fois des objets pointent vers le même emplacement de mémoire
  • .equals() -> correspond à la comparaison des valeurs dans les objets

Ai-je raison de ma compréhension ?

  • ouais, à peu près
  • Oui, sur place. Vous pouvez penser .equals() comme véritablement équivalent
  • Double Possible de Comment puis-je comparer les chaînes de caractères en Java?
  • Une phrase comme "les deux objets pointent vers le même emplacement de mémoire" n'est pas propre langue, ce qui peut rendre la compréhension plus difficile. Vous voulez dire: "les deux variables font référence au même objet". Notez qu'une variable n'est pas un objet, une variable est une référence à un objet. Les objets ne sont pas "point" de quoi que ce soit.
InformationsquelleAutor brainydexter | 2011-09-22