equals() y compareTo()

equals() define una relación de equivalencia, mientras que compareTo() define una relación de orden. Es muy conveniente que sean coherentes

a.equals(b) <=> a.compareTo(b) == 0

El algunas ocasiones se puede usar otro criterio. Vease, por ejemplo, la clase BigDecimal de la librería estándar de java, que usa la relación de orden normal entre números Reales; pero tiene una peculiar interpretación de lo que es igualdad.

Temas relacionados

63. equals (método) public boolean equals(Object)