行者雪. 2022-01-19 17:08 采纳率: 0%
浏览 30
已结题

Comparator<T>的int compare(T o1, T o2)的方法调用问题

  
     List<Student> dtoList  = new ArrayList<Student>();
      //中间list的添加值代码省略
      Collections.sort(dtoList, new Comparator<Student>() {
                @Override
                public int compare(Studento1,
                    Studento2) {
                    if (!o1.getContent().equals(o2.getContent())) {
                        return o1.getContent().length() > o2.getContent().length() ? -1 : 1;
                    }
        }  
    )


/*
* Collections.sort(dtoList, new Comparator<Student>())里面最后传的参数是一个对象,
但是实际部分排序功能实现需要int compare(Studento1,Studento2) 方法,
但是我一直没找到int compare(Studento1,Studento2)在哪里调用
*我翻看了源码也是没找到,请哪位大神帮忙解答一下,谢谢
*/
  • 写回答

1条回答 默认 最新

  • #朱守成# 2022-01-19 17:14
    关注

    if (!o1.getContent().equals(o2.getContent())) {
    return o1.getContent().length() > o2.getContent().length() ? -1 : 1;
    } else {
    return 0;
    }
    if为false的时候没有return, 编译就会报错

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月19日
  • 创建了问题 1月19日