Ich bin auf eine merkwürdige Situation mit statischen generischen Methoden gestoßen. Dies ist der Code:
class Foo<E>
{
public static <E> Foo<E> createFoo()
{
// ...
}
}
class Bar<E>
{
private Foo<E> member;
public Bar()
{
member = Foo.createFoo();
}
}
Wie kommt es, dass ich im Ausdruck keine Typargumente angeben muss Foo.createFoo()
? Ist das eine Art Typinferenz? Wie kann ich das Typargument angeben, wenn ich explizit darauf eingehen möchte?