我有我的班级:
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());
}
}
}
我试图用类中的自定义比较器对一个Vehicle数组进行排序:
Arrays.sort(MyListofVehicle, new CompararVehicle());
但是当我尝试这样做时出现错误:
List<Vehicle>
编辑:MyListOfVehicle是一个变量cat <- unlist(lapply(d0, function(x) sample(c(1.0, 0.25), size=1, prob=c(1-x, x))))
我从NetBeans获得的错误是:
错误:找不到合适的方法 排序(列表,CompararVehicle) Arrays.sort(llVeh,new CompararVehicle()); 方法Arrays.sort(T#1 [],Comparator)不适用 (不能推断类型变量T#1
事实上,我已经在课堂上进行了比较&#34; vehicle&#34;当我尝试用另一个标准命令阵列时干扰?如果是这样,我如何通过新标准订购?
答案 0 :(得分:0)
MyListofVehicle 是列表(列表)而不是数组 所以你不能使用Arrays.sort方法 试试这个
Collections.sort(MyListofVehicle, new CompararVehicle());
或者你可以做这样的事情
Arrays.sort(MyListofVehicle.toArray(new Vehicle[0]), new CompararVehicle());