我知道 Interface 中有一种方法Comparable<T>
,即compareTo()
. 我假设它只是一个没有任何实现的函数名,当任何类实现 Comparable 接口时,该类必须覆盖该方法。但后来我读了文档
并发现 Comparable 还返回一个值 int,并且有自己的实现,无需在实现类中覆盖它。
例如,这个例子:
public static <T extends Comparable<T>> T max(T a, T b) {
if (a == null) {
if (b == null) return a;
else return b;
}
if (b == null)
return a;
return **a.compareTo(b)** > 0 ? a : b;
}