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 10. Dva lidi jsou stejní, mají-li stejná příjmení

public class Clovek implements Comparable { 
   String jmeno, prijmeni; 
   public Clovek (String j, String p) { 
      jmeno = j;
      prijmeni = p;
   } 
   public boolean equals(Object o) { 
      if (o instanceof Clovek) { 
         Clovek c = (Clovek)o; 
         return prijmeni.equals(c.prijmeni); 
      } else 
         throw new IllegalArgumentException( 
            "Nelze porovnat objekt typu Clovek s objektem jineho typu"); 
   }
}

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