Java比较器

Java中,对象比较涉及equals、compareTo和Comparator方法。equals比较对象的地址值,重写后可比较内容;compareTo用于自然排序,实现Comparable接口并在自定义类中重写;Comparator用于定制排序,实现Comparator接口并重写compare方法。类如String和包装类都实现了这些方法。此外,hashCode返回对象的哈希码值。
摘要由CSDN通过智能技术生成

基本数据类型的变量可以用比较运算符来比较大小,类实例化的对象如果要比较大小需要借助比较器(比较方法),比较对象的地址值是否相等可以用= =。
Java中有三个比较对象的方法:
boolean equals(Object obj)
比较两个对象是否相等。该方法声明在Object类中的方法,其采用的比较方式是==(即比较对象的地址值)
String类、包装类都重写了该方法,重写的equals方法一般比较的是对象的内容是否相等(即逐个比较对象的属性)。
int compareTo(Object obj)
比较两个对象的大小,该比较方法主要用于集合中的自然排序。
升序排序返回值规则:返回正数:this>obj|返回负数:this< obj|返回0:this = =obj。降序排序规则需反过来。
该方法声明在Comparable接口中的抽象方法,自定义类中应该实现该接口的compareTo方法。String类、包装类都实现了该方法。
自然排序时,对象之间比较大小默认调用的是对象所属类中的compareTo方法。
int compare(Object obj1, Object obj2)
比较两个对象的大小,该比较方法主要用于集合中的定制排序。
升序排序返回值规则:返回正数:obj1>obj2|返回负数:obj1<obj2|返回0:obj1==obj2。降序排序规则需反过来。
该方法声明在Comparator接口中,使用此方法比较需new一个实现了该接口的类的对象,将此对象作为比较器使用,比较的方式写在重写的compare方法中
可以使用匿名子类的方式new此对象,方便快捷。
String类、包装类都实现了该方法。
Comparator comparator = new Comparator(){
//匿名子类重写compare比较方法
public int compare(比较对象的类型 obj1, 比较对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值