Документация для java.time.temporal.Temporal содержит следующее примечание:
Требования к реализации: [...] Все реализации должны быть сопоставимыми.
Почему Temporal не просто расширяет Comparable?
Фон: Я хочу работать с сопоставимыми временными интервалами (а не с подтипами типа LocalDateTime и т.д.) и прибегать к нескольким неразборчивым типом <T extends Temporal & Comparable<T>>
, который также испортит функцию автозаполнения NetBeans.
Изменить: Я хочу реализовать временный интервал. Явные реализации для содержит (Interval i), содержит (Temporal t), overlaps (...), adjoins (...) и т.д. Используют Comparable:: compareTo (Comparable c) для сравнения начальной и конечной точек, но для совместимость (toDuration(), parse (CharSequence cs)) Мне нужно, например, Длительность:: между (Temporal s, Temporal e) или SubtypeOfTemporal:: parse (CharSequence cs) (дает временный).