Intervalle können auf viele Arten verglichen werden. Das Javadoc von Intervall gibt es explizit an:
Die Dauer wird separat von ReadableDuration dargestellt. Daher sind die Intervalle nicht vergleichbar. Um die Länge von zwei Intervallen zu vergleichen, sollten Sie ihre Dauer vergleichen.
Ein Intervall kann auch in eine ReadablePeriod konvertiert werden.
Für eine längere Erklärung, die folgenden Intervalle und definieren, wie sie bestellt werden sollen:
10:00 - 12:00
11:00 - 13:00
11:00 - 12:00
9:00 - 10:00
9:00 - 13:00
Sollten sie nach Dauer (Zeitraum) bestellt werden?
11:00 - 12:00 (1 hours)
9:00 - 10:00 (1 hours)
10:00 - 12:00 (2 hours)
11:00 - 13:00 (2 hours)
9:00 - 13:00 (4 hours)
Oder nach Startzeit?
9:00 - 10:00
9:00 - 13:00
10:00 - 12:00
11:00 - 13:00
11:00 - 12:00
Oder nach Startzeit, dann Dauer?
9:00 - 10:00 (1 hours)
9:00 - 13:00 (4 hours)
10:00 - 12:00 (2 hours)
11:00 - 12:00 (1 hours)
11:00 - 13:00 (2 hours)
Oder durch Endzeit, dann Dauer?
9:00 - 10:00 (1 hours)
11:00 - 12:00 (1 hours)
10:00 - 12:00 (2 hours)
11:00 - 13:00 (2 hours)
9:00 - 13:00 (4 hours)
Wie Sie sehen können, gibt es keine einzige klare Definition der „natürlichen Ordnung“, das ist das, was Comparable
definiert:
Diese Schnittstelle legt eine totale Ordnung auf die Objekte jeder Klasse, die implementiert es. Diese Reihenfolge wird als die natürliche Reihenfolge der Klasse der Klasse bezeichnet, und die compareTo
-Methode der Klasse wird als ihre natürliche Vergleichsmethode bezeichnet.
Weil es 'Comparable' nicht implementiert? Was ist deine Frage hier? –
CollinD
Schreiben Sie Ihren eigenen Wrapper, der vergleichbare implementiert –
Ja, das ist der technische Grund, aber ich bin mehr nach "warum nicht", da viele der anderen Klassen vergleichbar sind. – ben3000