我們使用HyperJAXB生成了一些(很多)類。所有的類都實現Equals和HashCode,並具有下面的實現風格。出現此代碼永遠不會執行..是否有任何特殊的原因,我們需要此代碼?如果可以的話,我期望簡化課程。我們是否需要HyperJAXB生成的hashCode&equals方法?
public boolean equals(Object object) {
if (!(object instanceof MyClass)) {
return false;
}
if (this == object) {
return true;
}
final EqualsBuilder equalsBuilder = new JAXBEqualsBuilder();
equals(object, equalsBuilder);
return equalsBuilder.isEquals();
}
public void hashCode(HashCodeBuilder hashCodeBuilder) {
hashCodeBuilder.append(this.getValue());
hashCodeBuilder.append(this.getId());
}
public int hashCode() {
final HashCodeBuilder hashCodeBuilder = new JAXBHashCodeBuilder();
hashCode(hashCodeBuilder);
return hashCodeBuilder.toHashCode();
}
相信它確實把它們放入一個'List' ..但你可以在所有的'List'中存儲重複的東西嗎?不是嗎?它爲什麼稱爲平等?而'List'-s不會散列任何東西嗎? – 2010-04-13 11:30:11
如果某事調用'List.contains(...)',則調用equals方法。 – 2010-04-13 11:42:13
@CodeMed - 我沒有看到任何相似之處......我無法幫助你。 – 2014-09-05 11:32:29