Java by API/org.apache.commons.lang.builder/EqualsBuilder
EqualsBuilder: reflectionEquals(Object lhs, Object rhs)
<source lang="java">
/* One>>>ReflectionBuilderTrial@1a1c887[
name=Becker age=35
] Two>>>ReflectionBuilderTrial@a32b[
name=Becker age=35
] Three>>>ReflectionBuilderTrial@1d8957f[
name=Agassi age=33
] one equals two? true one equals three? false One HashCode>>> 462213092 Two HashCode>>> 462213092 Three HashCode>>> -530629296
- /
import org.apache.rumons.lang.builder.EqualsBuilder; import org.apache.rumons.lang.builder.HashCodeBuilder; import org.apache.rumons.lang.builder.ToStringBuilder; import org.apache.rumons.lang.builder.ToStringStyle; public class ReflectionBuilderTrial {
private String name = null; private int age = 0; public ReflectionBuilderTrial(String name, int age) { this.name = name; this.age = age; } public static void main(String[] args) { ReflectionBuilderTrial one = new ReflectionBuilderTrial("Becker", 35); ReflectionBuilderTrial two = new ReflectionBuilderTrial("Becker", 35); ReflectionBuilderTrial three = new ReflectionBuilderTrial("Agassi", 33); System.out.println("One>>>" + one); System.out.println("Two>>>" + two); System.out.println("Three>>>" + three); System.out.println("one equals two? " + one.equals(two)); System.out.println("one equals three? " + one.equals(three)); System.out.println("One HashCode>>> " + one.hashCode()); System.out.println("Two HashCode>>> " + two.hashCode()); System.out.println("Three HashCode>>> " + three.hashCode()); } public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); } public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); }
}
</source>