该示例将显示在 上Comparable,但问题是关于所有类似情况。
所以 Comparable 是一个通用接口:
public interface Comparable<T>
我们可以通过两种方式(主要)实现它:
使用泛型类型实现并compareTo使用已知类型参数覆盖方法:
MyClass implements Comparable<MyClass> {
@Override
public int compareTo(MyClass o) {
return myVar.compareTo(o.myVar)
}
}
不使用泛型类型实现并将 compareTo 与Object参数一起使用:
MyClass implements Comparable {
@Override
public int compareTo(Object o) {
return myVar.compareTo(((MyClass)o).myVar)
}
}
哪种方法更容易接受?彼此的优缺点是什么?我想第一种方法更好,因为没有额外的铸造,但这是唯一的优势吗?
慕尼黑5688855
相关分类