对象之间比较 重写hashCode和equals方法

来源:互联网 发布:尤克里里入门软件 编辑:程序博客网 时间:2024/05/22 17:14

用户声明一个对象的时候,即:new一个对象的时候,会存储在堆区当中,不同的对象存储的堆区位置不同。因此对象之间比较的时候,不能单纯的直接比较,应该重写hashCode和equals方法

范例如下:

public class Account{


private String name;

public Account(){}

public Account(String name){

this.name=name;

}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
return name.hashCode();
}
@Override
public boolean equals(Object other) {
if (other == null || other.getClass() != getClass()) {
return false;
}
return name.equals(((Account) other).name);
}

....

}

原创粉丝点击