Я столкнулся с любопытной ситуацией, связанной со статическими обобщенными методами. Это код:
class Foo<E>
{
public static <E> Foo<E> createFoo()
{
// ...
}
}
class Bar<E>
{
private Foo<E> member;
public Bar()
{
member = Foo.createFoo();
}
}
Почему мне не нужно указывать аргументы типа в выражении Foo.createFoo()
? Это какой-то вывод типа? Если я хочу быть явным об этом, как я могу указать аргумент типа?