public boolean equals(Object obj) {
/*
* 1. 判读obj是否为null,返回false
* 2. 比较obj和当前对象是否是同一个对象
* 3. 如果obj是不为null的其他对象,比较内容相同,则返回true
*/
if (obj == null)//判读obj是否为null,返回false————空指针
return false;
if(this==obj) {//比较obj和当前对象是否是同一个对象————地址相同则为同一个对象,是否为单例模式
return true;
}
Aoo other = (Aoo) obj;
if(this.name==other.name&&this.age==other.age) {
return true;
}
return false;
}
测试代码:
public static void main(String[] args) {
Aoo[] arr=new Aoo[3];
arr[0]=new Aoo("tom",18);
arr[1]=new Aoo("tom",18);//true
// arr[1]=new Aoo("jack",18);//false
// a.toString();
System.out.println(arr[0].equals(arr[1]));
System.out.println(arr[0]+"===="+arr[1]);
}
}
class Aoo{
String name;
int age;
public Aoo(String name, int age) {
this.age=age;
this.name=name;
}
@Override
public String toString() {
return "Aoo [name=" + name + ", age=" + age + "]";
}