假设您编写Java中的静态函数来对数组进行排序,很像Arrays.sort()
。 Arrays.sort()
的问题在于它收到一个Object数组,如果其元素没有实现Comparable
,则抛出ClassCastException
。Java中的泛型和排序
所以,你想你的函数接受作为参数的Comparable
亚型的数组。类似的东西可以工作:
static <T extends Comparable> void sort(T[] array);
与签名的问题是,你还可以通过比较公司的阵列整数和字符串,例如,这将导致RuntimeException
。
那么,你怎么可以创建将只接收一个数组,其元素实现可比性,并具有所有相同类型(例如整数,字符串,等等?)
签名的另一个问题是它在通用绑定中使用原始类型。 – 2010-01-15 15:31:01