Comparable接口源码理解

35 篇文章 0 订阅
34 篇文章 0 订阅


前言

本文章帮助大家对Comparable接口的理解。


一、概述

Comparable意为可比较的。顾名思义,为让对象可以与同类对象进行比较大小,建议实现此接口。

它使其实现类对象具有比较的功能,属于类内部的比较功能,同样有比较功能的有Comparator(比较器)接口,但后者是从类外部提供的功能。参考Comparator接口。

二、源码理解

package java.lang;

使用Comparable接口时,此包自动引入。

Comparable接口

public interface Comparable<T> { /*...*/ }

使用接口时传入泛型T,为可比较对象的元素的类型。

注意:集合元素的排序需要利用到元素的比较功能。比较需要有“相反性”(a > b ⇔ \Leftrightarrow b < a)、“传递性”(a > b > c ⇒ \Rightarrow a > c)等。

Comparable方法

compareTo

public int compareTo(T o);

o比较,若小于o,返回负数;若等于o,返回0;若大于o,返回正数。若o为空,抛出NullPointerException异常;若因o的类型而不能比较,抛出ClassCastException异常。

强烈建议a.compareTo(b) == 0a.equals(b)保持一致,若不一致,请标明它们不一致。参考Object.equals方法。


总结

新人源码理解,望大家多多指点。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值