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;
Bu sınıfın en son toHashCode() metodunu çağırmak lazım. build() metodunu çağırmak fazladan işlemci kullanımına sebep olur.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();
}
}
reflectionHashCode metodu - Object + CollectionŞöyle yaparız.
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
reflectionHashCode metodu - Object + CollectionŞö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));
}
}
reflectionHashCode metodu - Object + booleanİ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);
}
...
}
toHashCode metodubuild() 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