gpt4 book ai didi

java - 比较器不适用于 Arrays.sort

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:52 24 4
gpt4 key购买 nike

所以我正在研究一个比较器问题,但我无法弄清楚为什么第一个类中的 Array.sort 会给我以下错误:

The method sort(T[], Comparator) in the type Arrays is not applicable for the arguments (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());
}

卡路里比较器类:

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;
}
}

最佳答案

ArrayList 不同于 Java 数组;由于您使用的是列表,Arrays.sort 在这里帮不了您。

考虑 Collections.sort相反。

关于java - 比较器不适用于 Arrays.sort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12889314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com