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 + "]";
}
该博客讨论了Java中equals()方法的实现细节,包括检查对象是否为null,判断是否为同一对象,以及内容比较。通过一个具体的Aoo类示例展示了如何比较对象属性以确定相等性。在测试代码中,创建了两个Aoo对象并验证了equals()方法的正确性。
529

被折叠的 条评论
为什么被折叠?



