java中提供了关于对象的比较,有以下方式
(1) equals()
这是所有的类都具备的能力。
理解:比较两个对象代表的是不是同一个实际事物
规则:需要重写(覆写)equals方法才能达到
(2)大小的比较有两种:
1. 自然顺序比较 Comparable compareTo()
不是所有的类都具备,需要通过实现Comparable接口来表明该类具备这个能力
理解:比较this和传入的引用指向的对象
2. 外部比较(比较器)Comparator —— 构造一个天平
不需要比较的类具备 Comparable 的能力
理解:比较 传入的两个引用指向的对象
下面呢,我们就用代码来理解一下这几种方式
一、equals()
使用格式 t1.equals(t2);
t1指向的对象,是否和t2指向的独享代表了同一个现实的事物!
class Teacher {
String name;
Teacher(String name){
this.name = name;
}
}
public class EqualsDemo {
public static void main(String[] args) {
Teacher t1 = new Teacher("红果果");
Teacher t2 = new Teacher("红果果");
Teacher t3 = new Teacher("绿泡泡");
Teacher t4 = new Teacher("绿泡泡");
//t1指向的对象 和 t2指向的对象,是否代表了同一个现实的事物(需要开发者指导java的)
System.out.println(t1.equals(t2));
System.out.println(t1.equals(t3));
System.out.println(t4.equals(t3))