CompareTo(Student o)

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

Java修

2018-11-16 10:29

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

写回答 关注

3回答

  • Lydia520
    2018-12-11 18:31:35

    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 {.....}


  • qq_星辰_17
    2018-11-22 10:27:38

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

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

  • Java修
    2018-11-16 13:38:57

    没有人吗

    Java修

    X﹏X

    2018-11-18 11:38:03

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题