为了账号安全,请及时绑定邮箱和手机立即绑定

谁能告诉我我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要比较的学生对吗?

这是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 回答

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

3 回复 有任何疑惑可以回复我~
#1

福工刘德华 提问者

那个对象o代表的是什么?不是说()里面是要传入的参数吗?怎么会平白无故多了个参数o呢?
2017-11-05 回复 有任何疑惑可以回复我~
#2

折言丶 回复 福工刘德华 提问者

1、o就是参数,对象也可以作为参数的; 2、比较是两个对象之间进行的,这里的是“调用compareTo方法的对象”和“传入的参数o对象”比较。
2017-11-05 回复 有任何疑惑可以回复我~
#3

福工刘德华 提问者 回复 折言丶

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

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

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谁能告诉我我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要比较的学生对吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信