2009年6月27日

Apache Commons Lang [lang.builder.*]

Apache Commons Lang
buddies (EqualsBuilder, CompareToBuilder, ToStringBuilder)

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

public class Main {

private String name;
private String value;

public Main() {

}

public Main(String name, String value) {
this.name = name;
this.value = value;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}

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

public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}

public String toString() {
return ToStringBuilder.reflectionToString(this,
ToStringStyle.SHORT_PREFIX_STYLE);
}

public static void main(String[] args) {
Main x = new Main("Hello", "");
Main y = new Main(null, "World");

System.out.println(x);
System.out.println(y);
System.out.println(x.equals(y));

x.setValue(y.getValue());
y.setName(x.getName());

System.out.println(x);
System.out.println(ToStringBuilder.reflectionToString(y,
ToStringStyle.MULTI_LINE_STYLE));
System.out.println(x.equals(y));
}

}
/*
Main[name=Hello,value=]
Main[name=<null>,value=World]
false
Main[name=Hello,value=World]
Main@a59698[
name=Hello
value=World
]
true
*/

沒有留言:

網誌存檔