Java Language Implémenter la méthode equals ()


Exemple

Pour implémenter facilement la méthode equals d'un objet, vous pouvez utiliser la classe EqualsBuilder .

Sélection des champs:

@Override
public boolean equals(Object obj) {

    if(!(obj instanceof MyClass)) {
        return false;
    }
    MyClass theOther = (MyClass) obj;
    
    EqualsBuilder builder = new EqualsBuilder();
    builder.append(field1, theOther.field1);
    builder.append(field2, theOther.field2);
    builder.append(field3, theOther.field3);
    
    return builder.isEquals();
}

En utilisant la réflexion:

@Override
public boolean equals(Object obj) {
    return EqualsBuilder.reflectionEquals(this, obj, false);
}

le paramètre booléen indique si les égaux doivent vérifier les champs transitoires.

Utiliser la réflexion en évitant certains champs:

@Override
public boolean equals(Object obj) {
    return EqualsBuilder.reflectionEquals(this, obj, "field1", "field2");
}