我只是偶然发现了sort
in的以下重载java.util.Arrays
:
public static void sort(Object[] a)
public static <T> void sort(T[] a, Comparator<? super T> c)
为什么第一个重载不是通用的,而第二个是?为什么第一个重载需要 aObject[]
而不是 a Comparable[]
?文档甚至指出:
数组中的所有元素都必须实现该
Comparable
接口。
那么不使用 Java 的静态类型系统验证该约束有什么意义呢?