La notion d’égalité repose d’abord sur une question de point de vue.
- Deux objets sont égaux ⇐> sont la même instance
- ou Deux objets sont égaux ⇐> ont les même caractéristiques
On parle ainsi d’égalité soit par référence ou par structure
On a déjà vu la différence entre == et Object.equals()
==— par référenceObject.equals()— par structure (lorsqu’elle est redéfinie)
Règle d'égalité et de l'immuabilité
- Si notre classe est immuable ⇒ redéfinir
equals()- Si notre classe n’est pas immuable ⇒ utiliser
==(car ses valeurs peuvent changer)