Вызов статических универсальных методов

Я столкнулся с любопытной ситуацией, связанной со статическими универсальными методами. Это код:

class Foo<E>
{
    public static <E> Foo<E> createFoo()
    {
        // ...
    }
}

class Bar<E>
{
    private Foo<E> member;

    public Bar()
    {
        member = Foo.createFoo();
    }
}

Почему мне не нужно указывать аргументы типа в выражении Foo.createFoo () ? Это что-то вроде вывода типа? Если я хочу быть точным, как я могу указать аргумент типа?

95
задан fredoverflow 14 March 2011 в 11:32
поделиться