java equals(object obj)
equals(Object obj)// 在这里是比较的两个内存地址的是否相等,
若我们不想去比较两个地址相等的话,我们就会去重写父类java.lang.Object 类中的equals();方法。
public class Demo{
public static void main(String[] args){
User user1=new User("admin","123");
User user2=new User("admin","123");
System.out.println("是同一个对象吗:"+user1.equals(user2));
System.out.println("Hello World");
}
}
class User{
String userName;
String password;
public User(String userName,String password){
this.userName=userName;
this.password=password;
}
@Override
public boolean quals(Object obj){
User user=(User)obj;
return this.userName.equals(userName)&&this.password.equals(password);
}
}
hashCode()//返回的是一个对象的是一个hash码值,可以看作是一个对象的内存地址。
System.out.println(user1.hashCode());
System.out.println(user2.hashCode());
java规范: 一般我们在重写equals()方法的时候,我们都会重写他的hashCode()方法。