Porovnávání objektů - příklad

Příklad: objekt třídy Clovek nese informace o člověku. Dva objekty položíme stejné (rovnocenné), nesou-li stejná příjmení:

Obrázek 1. Dva lidi jsou stejní, mají-li stejná příjmení

public class Person implements Comparable { 
   private String firstname, surname; 
   public Person (String j, String p) { 
      firstname = j;
      surname = p;
   } 
   public boolean equals(Object o) { 
      if (o instanceof Person) { 
         Person c = (Person)o; 
         // dva lidé se (v našem případě) rovnají, mají-li stejná příjmení
         return surname.equals(c.surname); 
      } else {
         // porovnáváme-li osobu s objektem jiného typu, nikdy se nerovnají
         return false;
      }
   }
}

Méně agresivní verze by nemusela při porovnávání s jiným objektem než Person vyhodit výjimku, pouze vrátit false.