Giriş
Şu satırı dahil ederiz.
append metodu
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
İkinci parametre testTransients anlamına gelir
Örnek
Şöyle yaparız.
build() metodu ile aynı işi yapar. Şöyle yaparız.
Şu satırı dahil ederiz.
import org.apache.commons.lang3.builder.HashCodeBuilder;append metodu
Şöyle yaparız.
public class Admin {
  private Long id;
  private String userName;
  public String getUserName() {
    return userName;
  }
  @Override
  public boolean equals(Object o) {
    if (!(o instanceof Admin)) {
      return false;
    }
    Admin otherAdmin  = (Admin) o;
    EqualsBuilder builder = new EqualsBuilder();
    builder.append(getUserName(), otherAdmin.getUserName());
    return builder.isEquals();
  }
  @Override
  public int hashCode() {
    HashCodeBuilder builder = new HashCodeBuilder();
    builder.append(getUserName());
    return builder.hashCode();
  }
}Şöyle yaparız.
@Override
public int hashCode() {
  return HashCodeBuilder.reflectionHashCode(this);
}Şöyle yaparız.
public class Admin {
  private Long id;
  private String userName;
  public String getUserName() {
    return userName;
  }
  @Override
  public boolean equals(Object o) {
   return EqualsBuilder.reflectionEquals(this, o, Arrays.asList(id));
  }
  @Override
  public int hashCode() {
    return HashCodeBuilder.reflectionHashCode(this, Arrays.asList(id));
  }
}İkinci parametre testTransients anlamına gelir
Örnek
Şöyle yaparız.
public class Address {
  private String addressKey;
  private String postalCode;
  private String country;
  ...
  @Override
  public int hashCode() {
    return HashCodeBuilder.reflectionHashCode(this, false);
  }
  ...
}build() metodu ile aynı işi yapar. Şöyle yaparız.
public int hashCode() {
  return new HashCodeBuilder(17, 37)
    .append(field1)
    .append(field2)
    .toHashCode();
} 
Hiç yorum yok:
Yorum Gönder