Wednesday, March 2, 2016

Implementing equals in Java

public class Employee {
   protected long employeeId;
   protected String firstName;
   protected String lastName;
}


public boolean equals(Object o) {

   boolean result = false;
 
   if (o instanceof Employee) {

      Employee other = (Employee) o;

      if (this.employeeId == other.employeeId
         && this.firstName.equals(other.firstName)
         && this.lastName.equals(other.lastName))
      {
         result = true;
      }
   }
 
   return result;
}

The following program should print All good!:

package test;


/**
 *
 * @author janeiros@j4neiros.us
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        Equals e = new Equals(3, "jjjj", "eee");
        if (e.equals(null)) {
            System.out.println("Not good!");
        } else {
            System.out.println("All good!");
        }
    }
    
}