Sinds versie 5 ondersteunt Java ook Generics met als doel fouten rond casten tegen te gaan en ook een bijkomende abstractielaag toe te voegen aan java. Java Gernerics wordt in het boek maar geïntroduceerd in hoofdstuk 12 maar wordt wel best nu reeds gebruikt bij het implementeren van de Comparable Interface. Je zal zien dat Dodona een waarschuwing geeft indien je een Comparable Interface implementeert zoals beschreven in het boek (zonder generics).
Hoe ga je dus beter te werk:
Dus in plaats van gewoon:
public Class [NaamKlasse] implements Comparable
gebruik je beter
public Class [naamklasse] implements Comparable<[NaamKlasse]>
De aangepaste definitie van je klasse heeft als gevolg dat je de compareTo methode kan gedefinieerd worden met een argument van het juiste type en dus niet van het algemene type Object:
public int compareTo([NaamKlasse] o)
Deze werkwijze heeft als voordeel dat men niet moet casten van Object naar het juiste type en dus minder kans heeft op errors.