У меня небольшая проблема, и мне было интересно, как ее решить. У меня есть универсальный класс Tuple<A,B>
, и теперь я хотел бы отсортировать их кортежи по A и B. Он должен выглядеть следующим образом:
Unsorted:
(1,5)
(2,8)
(6,8)
(1,4)
(2,4)
Сортировка:
(1,4)
(1,5)
(2,4)
(2,8)
(6,8)
По этой причине я подумал о реализации общего метода сравнения (public int compareTo(Tuple<A, B> other)
) в классе Tuple. Единственная проблема заключается в том, что все объекты, для которых вы можете параметризовать класс (например, A = Integer, B = String), должны также реализовать метод compareTo, чтобы все это работало.
Есть ли способ гарантировать, что все объекты, которые может хранить кортеж, реализуют интерфейс Comparable?
Или есть еще какие-нибудь предложения по решению этой проблемы?
Спасибо