自己写的类需要重写ToString(), HashCode(), Equal()吗?

在Joshua Bloch的《Effective Java》中是提到需要改写ToString(), 在修改Equal的时候改写HashCode。

在java里面现在可以引入三个apache的类来完成,例如:

 1import org.apache.commons.lang.builder.EqualsBuilder;
 2import org.apache.commons.lang.builder.HashCodeBuilder;
 3import org.apache.commons.lang.builder.ToStringBuilder;
 4
 5    public String toString() {
 6        return new ToStringBuilder(this)
 7            .append("id", getId())
 8            .toString();
 9    }

10
11    public boolean equals(Object other) {
12        if ( (this == other ) ) return true;
13        if ( !(other instanceof TransitionInstance) ) return false;
14        TransitionInstance castOther = (TransitionInstance) other;
15        return new EqualsBuilder()
16            .append(this.getId(), castOther.getId())
17            .isEquals();
18    }

19
20    public int hashCode() {
21        return new HashCodeBuilder()
22            .append(getId())
23            .toHashCode();
24    }

那么就问问:.NET里面需要改写么?有没有类似的函数可以辅助完成呢? 谢谢赐教!
posted @ 2005-08-31 15:31  hgdfr  阅读(1571)  评论(0编辑  收藏  举报