本集主要内容.
1. equals函数在什么地方.
2. equals函数的作用.
3. 复写equals函数的方法
equals被包含在object中,object是所有类的父类.
所以所有类都继承了equals方法.
双等号的作用,判断两个引用是否指向堆内存中的同一块地址.
equals函数的作用.是来比较两个对象的内容是否相等.
什么是对象内容相等
在通常情况下两个对象内容是否相等.要符合两个条件
a. 对象类型相同(可以使用instanceof操作符进行比较).
1. equals函数在什么地方.
2. equals函数的作用.
3. 复写equals函数的方法
equals被包含在object中,object是所有类的父类.
所以所有类都继承了equals方法.
双等号的作用,判断两个引用是否指向堆内存中的同一块地址.
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));
}
}