以下内容来自marschen的java4android视频教程
本集主要内容.
1. equals函数在什么地方.
2. equals函数的作用.
3. 复写equals函数的方法.
a. equals被包含在object中,object是所有类的父类.
所以所有类都继承了equals方法.
b. 双等号的作用,判断两个引用是否指向堆内存中的同一块地址.或者
是同一个对象.
上代码
equals函数的作用.是来比较两个对象的内容是否相等.
在通常情况下两个对象内容是否相等.要符合两个条件
a. 对象类型相同(可以使用instanceof操作符进行比较).
b. 两个对象成员变量的值完全相同.
class User{
String name;
int age;
public boolean equals(Object obj){
if(this == obj){
return true;
}
boolean b = obj instanceof User;
if(b){
User u = (User)obj;
if(this.age == u.age && this.name.equals(u.name)){
return true;
}
else{
return false;
}
}
else{
return false;
}
}
}
class Test{
public static void main(String args[]){
User u1 = new User();
User u2 = new User();
User u3 = new User();
u1.name = "zhangsan";
u1.age = 12;
u2.name = "lisi";
u2.age = 12;
u3.name = "zhangsan";
u3.age = 12;
System.out.println(u1.equals(u2));
System.out.println(u1.equals(u3));
//User u3 = u1;
//boolean b1 = u1 == u2;
//boolean b2 = u1 == u3;
//System.out.println(b1);
//System.out.println(b2);
//boolean b1 = u1.equals(u2);
//System.out.println(b1);
}
}