equals () vs compareTo () im Vergleicher / able (Theoretisch)

Javadoc verstehe ich nicht:

The natural ordering for a class C is said to be consistent with equals if and only if
  (e1.compareTo((Object)e2) == 0) has the same boolean value as e1.equals((Object)e2) for
  every e1 and e2 of class C.

Warum sollte das so sein?

Ich verstehe, dass e1.equals (e2) = true immer e1.compareTo (e2) == 0 implizieren sollte, aber ich kann nicht verstehen, warum das Gegenteil wahr sein sollte. Gleichheit ist nicht Gleichheit! 2 gleiche Objekte sollten mit Null verglichen werden, aber 2 verschiedene Objekte sollten mit 0 verglichen werden können, wenn die Kriterien für die Sortierung in ihrem Fall nicht relevant sind. Ich meine, wenn unterschiedliche Objekte gleich sind, ist das nicht korrekt, aber unterschiedliche Objekte mit einem 0-Vergleich, warum nicht?

EDIT: Später heißt es, dass Konsistenz dringend empfohlen wird, für einige Kompatibilitätsprobleme und daher die Frage

Antworten auf die Frage(4)

Ihre Antwort auf die Frage