加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Comparator不能与Arrays.sort一起使用

发布时间:2020-12-15 02:06:17 所属栏目:Java 来源:网络整理
导读:所以我正在研究比较器问题,我无法弄清楚为什么第一类中的Array.sort给出了以下错误: The method sort(T[],Comparator) in the type Arrays is not applicable for the arguments (ArrayList,CalorieComparator) 餐厅类: import java.util.ArrayList;import
所以我正在研究比较器问题,我无法弄清楚为什么第一类中的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());
    }

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数组不同;因为你正在使用List,所以Arrays.sort对你没有帮助.

请考虑Collections.sort.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读