Java实现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);
}

布尔参数指示是否应使用瞬态字段。

使用反射避免某些字段:

@Override
public int hashCode() {
    return HashCodeBuilder.reflectionHashCode(this, "field1", "field2");
}