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