實現 hashCode() 方法
要輕鬆實現物件的 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);
}
boolean 引數指示是否應使用瞬態欄位。
使用反射避免某些欄位:
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this, "field1", "field2");
}