나는 litte 문제점을 가지고 있으며이를 해결하는 방법이 궁금합니다. 나는 제네릭 클래스 Tuple<A,B>
이 지금은 그것과 같아야 A와 B에 따라 자신의 튜플을 정렬 싶습니다오브젝트가 Comparable을 구현하는지 확인하십시오.
정렬되지 않은 :
(1,5) (2,8) (6,8) (1,4) (2,4)
결과 순위 :
(1,4) (1,5) (2,4) (2,8) (6,8)
들어 그 이유는 Tuple 클래스에서 제네릭 비교 메서드 (public int compareTo(Tuple<A, B> other)
)를 구현할 생각이었습니다. 유일한 문제는 클래스를 매개 변수화 할 수있는 모든 객체 (예 : A = Integer, B = String)는이 모든 작업을 수행하기 위해 compareTo 메소드도 구현해야한다는 것입니다.
Tuple이 보유 할 수있는 모든 객체가 Comparable 인터페이스를 구현할 수있는 방법이 있습니까?
이 문제를 해결하는 방법에 대한 다른 제안 사항이 있습니까?
감사합니다.
'A extends Comparable super A>'을 선호하지만, 튜플 자체에 대해 Comparable을 구현하려면 +1을 선호합니다. 나는 그것을 기억해야만했다. –
당신은'A extends Comparable '을 사용하면 안됩니다. 이것은 원시'Comparable'을 구현하는 오래된 클래스에서는 작동하지 않습니다. 'A extends Comparable super A> '에 대한 mmyers의 서명이 정확합니다. – ColinD
아, 고마워. 오해하지 않도록 내 대답을 편집했으며 mmyers 버전을 upvoted했습니다. – Lyle