Java by API/org.apache.commons.lang.builder/EqualsBuilder

Материал из Java эксперт
Перейти к: навигация, поиск

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>