我有一个小问题,想知道如何解决它。我有一个通用类 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 接口(interface)?
或者对于如何解决这个问题还有其他建议吗?
谢谢
最佳答案
如果您将类声明为
public class Tuple<A extends Comparable<? super A>,
B extends Comparable<? super B>> { ...
然后确保 A 和 B 都是自比较的。然后,您可以对类中任何类型 A 或 B 的对象调用 compareTo()
。
关于java - 确保对象实现 Comparable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166816/