本文最后更新于 301 天前,其中的信息可能已经有所发展或是发生改变。
对象比较
Object.equals
介绍
Object类的方法
- 默认情况下,比较的是对象的引用地址
- 通常重写
equals方法,比较对象的内容
Comparable
介绍
方法
| 方法 |
描述 |
int compareTo(T o) |
小于指定对象返回负数,等于指定对象返回,大于指定对象返回正数 |
使用
- 实现
Comparable接口
- 重写
compareTo方法
Comparator
介绍
java.util
- 外部比较器,不需要修改对象的定义
- 可以定义多个排序规则
方法
| 方法 |
描述 |
int compare(T o1,T o2) |
对象1小于对象2返回负数,对象1等于对象2返回,对象1大于对象2返回正数 |
Comparator与Comparable
| 特性 |
Comparable |
Comparator |
| 作用 |
定义对象的自然排序规则 |
定义外部比较规则,可以有多个排序标准 |
| 修改对象类 |
类需要实现Comparable接口 |
无需修改对象类 |
| 排序规则 |
只能有一个排序规则 |
可以定义多个不同的排序规则 |
| 场景 |
对象类需要自定义排序规则时 |
对象类需要多个自定义排序规则或对象类不能修改时 |
| 使用方式 |
集合工具类的sort方法 |
创建比较器对象 |