1、equals
if (this == obj) {
return true;
}
if (obj == null || this.getClass() != obj.getClass()) {
return false;
Account account = (Account) obj;
return new EqualsBuilder()。append(this.id, account.id)
.append(this.firstName, account.firstName)
.append(this.lastName, account.lastName)
.append(this.emailAddress, account.emailAddress)
.append(this.creationDate, account.creationDate)
.isEquals();
}
or
return EqualsBuilder.reflectionEquals(this, obj);
2、hashCode
return new HashCodeBuilder(11, 21)。append(this.id)
.append(this.firstName)
.append(this.lastName)
.append(this.emailAddress)
.append(this.creationDate)
.toHashCode();
两个参数必须为奇数
or
return HashCodeBuilder.reflectionHashCode(this);
3、compareTo
Account account = (Account) obj;
return new CompareToBuilder()。append(this.id, account.id)
.append(this.firstName, account.firstName)
.append(this.lastName, account.lastName)
.append(this.emailAddress, account.emailAddress)
.append(this.creationDate, account.creationDate)
.toComparison();
or
return CompareToBuilder.reflectionCompare(this, obj);
4、toString
return new ToStringBuilder(this)。append("id", this.id)。
.append("firstName", this.firstName)
.append("lastName", this.lastName)
.append("emailAddress", this.emailAddress)
.append("creationDate", this.creationDate)
.toString();
or
return ToStringBuilder.reflectionToString(this);
注:
public class Account implements Comparable {
private long id;
private String firstName;
private String lastName;
private String emailAddress;
private Date creationDate;
public Account(long id, String firstName, String lastName,
String emailAddress, Date creationDate) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.emailAddress = emailAddress;
this.creationDate = creationDate;
}
.....
}