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

CompareTo(Student o)

视频中的方法返回值为this.id.CompareTo(o.id)为什么可以这样写?  .id不是定位到属性了吗?还能调用方法吗?第二个问题 o.id 的类型不是String吗?和Student o 对不上的呀!哪位解解惑

正在回答

3 回答

this.id 是指当前对象的id, 是String类型的。o.id 是指被比较对象的id,也是String类型的。 String类型也实现了comparable借口,String类也要重写compareTo()方法,因此String和String之间是可以比较的,可以参考下面String类的源码,具体你可以再去找。

因此,这句代码可以理解为

(this.id).compareTo(o.id)

String.compareTo.String

(当前对象的id)比较于(被比较对象的id)


public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {.....}


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

第一个问题中,是当前对象的id属性,这个id是String类型的,所以它可以调用String类中的compareTo(String anotherString)方法,即对象名.属性.方法(可以调用的);

第二个问题中,实现Comparable<T>接口,必须要实现compareTo(T o)方法,而这个方法与compareTo(String anotherString)方法是重载关系。

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

没有人吗

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

Java修 提问者

X﹏X
2018-11-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

CompareTo(Student o)

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