• 第十二条:考虑实现Comparable接口


    与前面讨论的方法不同,compareTo()方法并没有在Object类中定义。相反,它是Comparable接口中唯一的方法。

    一个类的实例对象要想是可以比较大小的,那么这个类需要实现Comparable接口,必须正确的实现compareTo()方法。

    一个类实现了Comparable接口,就表明这个类的实例对象具有内在的排序关系。

    一旦类实现了Comparable接口,那么这个类就可以和依赖于该接口的集合实现进行协作,实现强大的功能。

    JDK中的所有值类,String类都已经实现了Comparable接口。

    comparaTo()方法的通用约定和equals()方法的有些相似:

    大于返回1,相等返回0,小于返回-1

    如果A.compareTo(B) 返回1,则B.compareTo(A)返回-1

    如果A.compareTo(B) 返回0,则B.compareTo(A)返回0

    如果A.compareTo(B)返回1,B.compareTo(C)返回1,则A.compareTo(C)返回1

    如果比较的参数对象B不是这个类的对象  ,则抛出ClassCastException异常。

    假设这个实现Comparable接口的类具有如下的域:

    基本类型的域,直接使用 > 和 <小于号比较,但是double,和float类型的域,使用Double.compare(value1,value2)和Float.compare(value1,value2)

    基本类型的包装类的域 ,使用compareTo()方法  ,因为这些类已经实现了Comparable接口  

    引用类型的域,引用类型的类应该实现Comparable接口,然后调用compareTo()方法比较

    如果这个类有若干个关键域,那么应该先比较最重要的那个域,然后比较次重要的那个域,依次。。。

  • 相关阅读:
    常见名词解释
    主板结构解析
    计算机网络原理的总结
    Nginx的介绍
    优雅的python
    python小技巧
    python列表小程序
    学会浏览器查东西
    列表推导式
    深度优先算法与广度优先算法
  • 原文地址:https://www.cnblogs.com/wangliyue/p/4454034.html
Copyright © 2020-2023  润新知