關於自定義類的對比(equals()與hashcode()的複寫),與clone()的使用

自定義類都繼承自Object,所以在對比時需要複寫equals和hashcode。

可以使用java7只java.util.objects;來實現複寫,比手動寫要輕鬆得多。

@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof User)) {
return false;
}
User u = (User) obj;
return name == u.getName() && age == u.getAge();
}


@Override
public int hashCode() {
return Objects.hash(name, age);

}

對實體類實現Cloneable接口並實現clone()方法可以對其進行克隆,簡單類型對象直接new會比克隆快10倍左右,而對複雜對象來說,克隆比new快近50倍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章