Bonjour,
tout d'abord désolé pour le titre de ce message, qui sonne comme vu et revu.
Pourtant, je n'ai pas trouvé réponse à ma question.
Il est bien expliqué dans hashcode et equals qu'il faille redéfinir la méthode "hashcode" d'un objet après redéfinition de la méthode "equals" pour respecter le contrat.
Or, il faut que c'est redéfinition se fasse également dans le respect du contrat.
Comme dit dans la Javadoc "Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified".
Définir le hashcode sur la valeur des attributs ne respect donc pas le contrat.
Quel est alors la meilleure méthode à utiliser pour redéfinir la méthode equals d'un objet, afin que deux objets ayant des attributs égaux soit égaux, tout en état standard-compliant ?
Merci.
Partager