Java 中的泛型和排序
2022-09-03 04:00:10
假设您在Java中编写了一个静态函数来对数组进行排序,这很像。问题在于它接收到一个 Object 数组,并抛出一个 if 其元素未实现 。Arrays.sort()
Arrays.sort()
ClassCastException
Comparable
因此,您希望函数以参数形式接收 子类型的数组。像这样的东西可以工作:Comparable
static <T extends Comparable> void sort(T[] array);
该签名的问题在于,您仍然可以传递一个具有整数和字符串的可比数组,这将导致 .RuntimeException
那么,如何创建一个函数,该函数将仅接收其元素实现Compeable并具有所有相同类型(例如整数,字符串等)的数组?