Я использую сопоставимый интерфейс все время, чтобы обеспечить естественный порядок для моего класса через collection.sort.
В принципе, если у меня есть класс person, я получу его для реализации интерфейса Comparable и предоставит реализацию compareTo. Однако в определении Collections.sort в javadocs я вижу эту подпись
public static <T extends Comparable<? super T>> void sort(List<T> list)
Я вообще не понимаю это определение дженериков? Не стоит ли просто говорить
<T implements Comparable<T>>
Может кто-нибудь мне помочь?