Ein kurzer Hinweis darauf findet sich in der Generika in der Version 1.5 des Sprachführers:
Noch überraschender ist, dass die Klasse Class generiert wurde. Klassenliterale fungieren nun als Typ-Token, die sowohl zur Laufzeit als auch zur Kompilierzeit Typinformationen liefern. Dies ermöglicht eine Art von statischen Fabriken, die durch die getAnnotation-Methode in der neuen AnnotatedElement-Schnittstelle veranschaulicht wird:
<T extends Annotation> T getAnnotation(Class<T> annotationType);
Dies ist eine generische Methode. Sie leitet den Wert ihres Typparameters T aus ihrem Argument ab und gibt eine entsprechende Instanz von T zurück, wie der folgende Ausschnitt zeigt:
Author a = Othello.class.getAnnotation(Author.class);
Vor der Einführung von Generika hätten Sie das Ergebnis an Author übergeben müssen. Außerdem hätte man keine Möglichkeit gehabt, den Compiler überprüfen zu lassen, ob der aktuelle Parameter eine Unterklasse von Annotation darstellt