new HashCodeBuilder(int initialNonZeroOddNumber, int multiplierNonZeroOddNumber) : HashCodeBuilder « org.apache.commons.lang.builder « Java by API






new HashCodeBuilder(int initialNonZeroOddNumber, int multiplierNonZeroOddNumber)

/*
 One>>>BuilderTrial@1d1acd3[
  Name=Becker
  Age=35
]
Two>>>BuilderTrial@743399[
  Name=Becker
  Age=35
]
Three>>>BuilderTrial@e7b241[
  Name=Agassi
  Age=33
]
one equals two? true
one equals three? false
One HashCode>>> -923455822
Two HashCode>>> -923455822
Three HashCode>>> -1433293806

 */

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 BuilderTrial {
  private String name;

  private int age;

  public BuilderTrial(String name, int age) {
    this.name = name;
    this.age = age;
  }

  public static void main(String[] args) {
    // Create new BuilderTrial instances
    BuilderTrial one = new BuilderTrial("Becker", 35);
    BuilderTrial two = new BuilderTrial("Becker", 35);
    BuilderTrial three = new BuilderTrial("Agassi", 33);

    // one and two hold the same data in different objects
    // three holds different data
    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));

    // As one and two hold the same data, the same hashcode is returned.
    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 objCompared) {
    if (!(objCompared instanceof BuilderTrial)) {
      return false;
    }

    BuilderTrial rhs = (BuilderTrial) objCompared;

    return new EqualsBuilder().append(name, rhs.name).append(age, rhs.age).isEquals();
  }

  public String toString() {
    return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("Name", name).append(
        "Age", age).toString();
  }

  public int hashCode() {
    return new HashCodeBuilder(15, 19).append(name).append(age).toHashCode();
  }
}

           
       








Apache-Common-Lang.zip( 248 k)

Related examples in the same category

1.HashCodeBuilder: reflectionHashCode(Object obj)