常用类08-Java比较器


Java比较器

Java中的对象,正常情况下只能进行比较:== 或 != ,不能使用 > 或 < ;但在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小

Java实现对象排序的方式

  • 自然排序 java.lang.Comparable

    1. String、包装类 等实现了Comparable接口,重写了compareTo()方法,给出了比较两个对象大小

    2. String、包装类 重写compareTo()方法以后,进行了从小到大的排列

    3. 重写compareTo(obj)的规则:如果当前对象this大于形参对象obj,则返回正整数;如果当前对象this小于形参对象obj,则返回负整数;如果当前对象this等于形参对象obj,则返回零

    4. 对于自定义类来说,如果需要排序,我们可以让自定义类实现Comparable接口,重写compareTo(obj)方法,在compareTo(obj)方法中指明如何排序

  • 定制排序 java.util.Comparator

两种接口的对比

  • Comparable接口的方式一旦一定,保证Comparable接口实现类的对象在任何位置都可以比较大小

  • Comparator接口属于临时性的比较

相关代码

Java常用类全部代码