Apache Commons Lang提供一套生成hashCode()
一
通過HashCodeBuilder反射來生成
也可以通過HashCodeBuilder實例來制定生成
也有兩種生成方式
與以上都類似
二
為了測試
public class Foo {
private String name;
private int age;
private Bar bar;
public Foo(String name
this
this
}
//省略getter/setter方法
}
public class Bar {
private String name;
public Bar(String name) {
this
}
//省略getter/setter方法
}
反射方式
@Override
public int hashCode() {
return HashCodeBuilder
}
制定方式
@Override
public int hashCode() {
return new HashCodeBuilder(
}
反射方式
@Override
public boolean equals(Object obj) {
return EqualsBuilder
}
制定方式
@Override
public boolean equals(Object obj) {
boolean flag = false;
if (obj != null && Foo
Foo f = (Foo) obj;
flag = new EqualsBuilder()
}
return flag;
}
當然
反射實現
public int compareTo(Object obj) {
return CompareToBuilder
}
制定實現
public int compareTo(Object obj) {
int flag =
if (obj != null && Foo
Foo f = (Foo) obj;
flag = new CompareToBuilder()
}
return flag;
}
EqualsBuilder不光可以比較對象
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19465.html