實現 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");
}