Mi sono imbattuto in una situazione curiosa che coinvolge metodi generici statici. Questo è il codice:
class Foo<E>
{
public static <E> Foo<E> createFoo()
{
// ...
}
}
class Bar<E>
{
private Foo<E> member;
public Bar()
{
member = Foo.createFoo();
}
}
Come mai non devo specificare alcun tipo di argomento nell'espressione Foo.createFoo()
? È una sorta di inferenza di tipo? Se voglio essere esplicito al riguardo, come posso specificare l'argomento tipo?