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)