在session开启后,session通过set方法调用到数据库中的数据后,在同一session中,只要再次用到此数据,一般都是调用session中的数据。当当前session关闭后再开一个session的时候,再次调用此数据,则session不同,内存地址也不同。所以当比较的时候,也就会显示false。
下面重写equals方法:
public boolean equals(Object obj) {
if(this==obj){
return true;
}
if(!(obj instanceof user)){
return false;
}
final user user = (user) obj;
if( this.id == user.id &&
this.username.equals(user.username) &&
this.password.equals(user.password)
){
return true;
}
return false;
}