0
我有我的課:自定義比較的Java排序列表
public class Vehicle implements Comparable<Vehicle> {
....
@Override
public int compareTo(Vehicle o) {
if (o.dataMatricula.compareTo(dataMatricula) ==0){
return matricula.compareTo(o.matricula);
}
else {
return o.dataMatricula.compareTo(dataMatricula);
}
...
}
而且我試圖從類的自定義排序比較車輛的數組:
class CompararVehicle implements Comparator<Vehicle> {
@Override
public int compare(Vehicle o1, Vehicle o2) {
if (o1 == o2) {
return 0;
}
if(o2.getDataMatricula().compareTo(o1.getDataMatricula())==0){
if(o1.getMatricula().compareTo(o2.getMatricula())==0){
return 0;
}
else {
return o1.getMatricula().compareTo(o2.getMatricula());
}
}
else {
return o2.getDataMatricula().compareTo(o1.getDataMatricula());
}
}
}
,但我得到
Arrays.sort(MyListofVehicle, new CompararVehicle());
編輯:MyListOfVehicle是一個變量List<Vehicle>
,當我嘗試做這樣的錯誤我從NetBeans中得到的錯誤是:
error: no suitable method found for sort(List,CompararVehicle) Arrays.sort(llVeh, new CompararVehicle()); method Arrays.sort(T#1[],Comparator) is not applicable (cannot infer type-variable(s) T#1
這是事實,我已經有一個的compareTo在我的課「車輛」干擾當我試圖訂購與其他標準的陣列?如果是這樣,我如何按新標準訂購?
'Arrays.sort'只能對數組進行排序,而不能對List進行排序。也許你打算使用'Collections.sort'。 – 4castle
MyListofVehicle是一種類型嗎?它拼寫成一個,不像變量。如果它是(拼寫錯誤)變量,它的類型是什麼?這個錯誤提到了一個'List',但是你要求一個數組。您不能使用排序數組的方法對不是數組的數組進行排序。 –
這是一個車輛清單,編輯! – Asdemuertes