1
我正在嘗試編寫一個簡單的sort
函數,該函數可以使用接口Comparable
對任何類型的數據進行排序。我想我已經這樣做了,但我有問題傳遞特定類型的數組作爲參數。代碼是使用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);
}
}
什麼是probelm?錯誤讀取: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
}