J'ai rencontré une situation curieuse impliquant des méthodes génériques statiques. Voici le code:
class Foo<E>
{
    public static <E> Foo<E> createFoo()
    {
        // ...
    }
}
class Bar<E>
{
    private Foo<E> member;
    public Bar()
    {
        member = Foo.createFoo();
    }
}Comment se fait-il que je n'ai pas à spécifier d'arguments de type dans l'expression Foo.createFoo()? Est-ce une sorte d'inférence de type? Si je veux être explicite à ce sujet, comment puis-je spécifier l'argument de type?