Llamar a métodos generics estáticos

Me he topado con una situación curiosa que involucra métodos generics estáticos. Este es el código:

class Foo { public static  Foo createFoo() { // ... } } class Bar { private Foo member; public Bar() { member = Foo.createFoo(); } } 

¿Cómo es que no tengo que especificar ningún argumento de tipo en la expresión Foo.createFoo() ? ¿Es esto una especie de tipo de inferencia? Si quiero ser explícito al respecto, ¿cómo puedo especificar el argumento de tipo?

Sí, esto es una inferencia de tipo basada en el objective de la asignación, según la sección 15.12.2.8 de JLS . Para ser explícito, llamarías algo como:

 Foo.createFoo(); 
Intereting Posts