数据结构(Java实现)-java对象的比较


元素的比较
基本类型的比较
在Java中,基本类型的对象可以直接比较大小。


对象比较的问题
Java中引用类型的变量不能直接按照 > 或者 < 方式进行比较
==默认情况下调用的就是equal方法,但是该方法的比较规则是:没有比较引用变量引用对象的内容,而是直接比较引用变量的地址
数据结构(Java实现)-java对象的比较_第1张图片

第一种方法:重写equals
数据结构(Java实现)-java对象的比较_第2张图片
数据结构(Java实现)-java对象的比较_第3张图片
数据结构(Java实现)-java对象的比较_第4张图片


注意: 一般覆写 equals 的套路就是上面演示的

  1. 如果指向同一个对象,返回 true
  2. 如果传入的为 null,返回 false
  3. 如果传入的对象类型不是 子类型,返回 false
  4. 调用其他引用类型的比较也需要 equals,比如这里的字符串

equal只能按照相等进行比较,不能按照大于、小于的方式进行比较。


第二种方法: 基于Comparble接口类的比较
数据结构(Java实现)-java对象的比较_第5张图片
在定义类时,实现Comparble接口即可,然后在类中重写compareTo方法。
数据结构(Java实现)-java对象的比较_第6张图片
第三种方法:基于比较器比较
用户自定义比较器类,实现Comparator接口
数据结构(Java实现)-java对象的比较_第7张图片

数据结构(Java实现)-java对象的比较_第8张图片


数据结构(Java实现)-java对象的比较_第9张图片

你可能感兴趣的:(数据结构(Java实现),数据结构,java,开发语言)