Y_csgoto
2019-11-15 18:58
采纳率: 100%
浏览 752
已采纳

请问JAVA的sort方法中这个comparator参数是干什么,又是如何实现它所期望的功能的呢?

最近在学习JAVASE,教程中有提到arrays.sort()方法,可以传入两个参数,以实现对对象进行比较的功能,课堂笔记如下

Arrays.sort(test01, new Comparator<commodity>(){
        //在匿名内部类中重写Comparator匿名内部类的抽象方法
        @Override
        public int compare(commodity o1, commodity o2) {
        return o1.commodityCost - o2.commodityCost;
        }
    });
    System.out.println(Arrays.toString(test01));
    }

可以看到,这里只是重写了一下compare方法,返回一个两数相减,就说已经实现了比较功能,这是为什么呢,传进去一个接口是想干什么,又最后干了什么呢?

它的实现机理我应该去哪里找呢?

求大佬解答

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题