HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

"Practices For Writing EJB Applications"
Vol. 6, Issue 4, p. 12


Listing 1

public final class EmployeePK implements java.io.Serializable {

  public String lastName;
  public String firstName;
  public int officeNumber;

  private int hash = -1;

  public EmployeePK() {}

  public int hashCode() {
    if (hash == -1) {
      hash = lastName.hashCode() ^ firstName.hashCode()
       ^ officeNumber;
    return hash;
  public boolean equals(Object o) {
    if (o == this) return true;

    if (o instanceof EmployeePK) {
      EmployeePK other = (EmployeePK) o;
      return other.hashCode() == hashCode() &&
             other.officeNumber == officeNumber &&
             other.lastName.equals(lastName) &&

    } else {
      return false;


All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.