我有一个小问题,并想知道如何解决它。我有一个泛型类Tuple<A,B>
,现在我想根据A和B.它应该是这样的元组进行排序:确保物体实现可比较
未分类:
(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>',但是为了在Tuple本身上实现Comparable,我需要+1。我应该记住这一点。 – 2010-07-02 15:15:40
您不应该使用'A extends Comparable '......这对于执行原始“Comparable”的旧类将不起作用,等等。 mmyers的签名'A extends Comparable super A>'是正确的。 – ColinD 2010-07-02 15:16:22
啊,谢谢。我已经编辑了我的答案,以免误导,并提供了mmvyer的版本。 – Lyle 2010-07-02 15:35:35