谁能告诉我我public int compareTo(student o) { // TODO 自动生成的方法存根 return this.id.compareTo(o.id); }这里面那个student o 的那个o代表什么,是代表传入的student类型的对象吗?还有public int compare(student o1, student o2) { return o1.name.compareTo(o2.name); }的o1和o2要比较的学生对吗?

来源:6-8 学生选课--- 实现学生序列排序

福工刘德华

2017-11-05 22:43

这是Comparable<student>的conparato方法

@Override

public int compareTo(student o) {

// TODO 自动生成的方法存根

return this.id.compareTo(o.id);

}

这是Comparator<student> 的compare方法

@Override

public int compare(student o1, student o2) {

// TODO 自动生成的方法存根

return o1.name.compareTo(o2.name);

}


写回答 关注

2回答

  • 折言丶
    2017-11-05 23:03:32
    已采纳

    compareTo方法是Student的对象方法,意思是调用这个方法的对象和o比较;compare方法是在其它类中定义的临时比较方法,比较的则是o1和o2。这么说你能理解吗?

    福工刘德华 回复折言丶

    但是“调用conpareTo”方法的对象student我并没有给他的id赋值,在给当前compareble接口重写compareto的类,我只是给student一个构造方法里String id;这个id又如何与传入的student.id进行比较呢?

    2017-11-07 20:56:20

    共 3 条回复 >

  • 慕粉3617928
    2017-11-05 23:07:15

    这里o的确就是传入的student,是原对象的一个引用,目前只要知道是这个student就行。

    后面的方法,就你贴出来的内容来看,它是取的o1.name和o2.name,这是比较的学生的nane。

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题