所以我的工作比较问题工作,我想不通,为什么在这个一流的Array.sort
是给我的错误:比较不会Arrays.sort
的方法排序(T [],比较器)在类型数组是不适用的参数(ArrayList中,CalorieComparator)
餐厅类别:
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
public class Restaurant {
private ArrayList<Edible> elist;
public Restaurant() {
}
public void addEdibleItem(Edible item){
elist.add(item);
}
public List<Edible> orderByCalories(){
Arrays.sort(elist, new CalorieComparator());
}
CalorieComparator类:
import java.util.Comparator;
public class CalorieComparator implements Comparator {
public int compare(Object o1, Object o2){
Edible thisfood = (Edible)o1;
Edible otherfood = (Edible)o2;
if(thisfood.getCalories() > otherfood.getCalories())
return 1;
else if (thisfood.getCalories() < otherfood.getCalories())
return -1;
else
return 0;
}
}
您可能想要考虑实现比较器,而不是在比较方法中投射对象。 –