要轻松实现对象的hashCode方法,可以使用HashCodeBuilder类。
选择字段:
@Override public int hashCode() { HashCodeBuilder builder = new HashCodeBuilder(); builder.append(field1); builder.append(field2); builder.append(field3); return builder.hashCode(); }
使用反射:
@Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this, false); }
布尔参数指示是否应使用瞬态字段。
使用反射避免某些字段:
@Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this, "field1", "field2"); }