V těle hashCode s oblibou „přehráváme“ (delegujeme) řešení na volání hashCode jednotlivých složek objektu - a to těch, které figurují v equals:
Obrázek 11. Třída Clovek s metodami equals a hashCode
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");
}
public int hashCode() {
return prijmeni.hashCode();
}
}