Collections sécurisées, génériques, vides et génériques statiques

Je de retour à vide des collections vs null chaque fois que possible. Je switch entre les deux méthodes pour le faire à l'aide de java.util.Collections:

return Collections.EMPTY_LIST;
return Collections.emptyList();

emptyList() est censé être de type sécurisé. Mais j'ai découvert récemment:

return Collections.<ComplexObject> emptyList();
return Collections.<ComplexObject> singletonList(new ComplexObject());

etc.

Je vois cette méthode dans Eclipse Explorateur de Package:

<clinit> () : void

mais je ne vois pas comment cela est fait dans le code source (1.5). Comment est-ce de la magie tomfoolerie passe!!

EDIT:
Comment est-statique de type Générique accompli?

source d'informationauteur Droo | 2010-04-12