javacomparable接口怎么用?内部比较器用法详细说明

作者:袖梨 2026-08-06

java.lang.Comparable是内部比较器,用于给自定义类设定默认排序规则,让该类对象可直接被 Collections.sort()Arrays.sort() 自动排序

javacomparable接口怎么用?内部比较器用法详解

一、接口码源

public interface Comparable<T>{    int comparableto(T o);}

(1)仅含一个抽象类,必须重写。

(2)返回值规则

  1. 返回 负数this 排在 o 前面
  2. 返回 0:两个对象视为相等,顺序不变
  3. 返回 正数this 排在 o 后面

二、用法

  1. 自定义类实现接口:public class 类名 implements Comparable<类名>
  2. 重写唯一方法 compareTo(同类对象)
  3. 存入 List 集合,调用Collections.sort(集合)自动排序

三、常见的排序方法

(1)数值字段排序

1.升序

@Overridepublic int compareTo(Ship o) {    return this.id - o.id;}

2.降序

return o.id - this.id;

(2)字符串字段排序

// 名字字典序升序return this.name.compareTo(o.name);

不能直接相减,调用字符串自带的比较方法

四、与Comparator的简单区分

  1. Comparable:内部比较器,写死在实体类,默认排序
  2. Comparator:外部比较器,临时定义,不修改实体类

五、总结

相关文章

精彩推荐