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érence
  • Object.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)

12.3 Ordre