我正在尝试编写一个简单的函数,可以使用接口sort
对任何类型的数据进行排序。Comparable
我想我已经做到了,但是我在将特定类型的数组作为参数传递时遇到了问题。代码是
public class Main {
public static void main(String[] args) {
int[] arr= {12,14,11,6};
// The above gives error
// But this works : Comparable[] arr= {12,14,11,6};
Comparable b[]= Selection.sort(arr);
for (Comparable x:b)
System.out.println(x);
}
}
问题是什么?错误显示:Comparable is a raw type. References to generic type Comparable<T> shoulb be parameterized.
为了更清楚,剩下的代码是:
public class Selection {
public static Comparable[] sort(Comparable[] a){
int N= a.length;
for(int i=0;i<N;i++){
int min=i;
for(int j=i+1;j<N;j++)
if(less(a[j],a[min]))
min=j;
exch(a,i,min);
}
return a;
}
// Other methods defined here
}