Ich bin mir nicht sicher, wie der Fachbegriff dafür lautet, aber denken Sie an eine Schnittstelle:
public interface SomeInterface<T> {
public T doSomething();
}
Und dann eine zweite Schnittstelle:
public interface SomeRelatedInterface<T, D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
Ist es möglich, die zweite Schnittstelle so zu gestalten, dass nur ein generischer Parameter erforderlich ist, und dann die doSomethingRelated-Methode implizit den Rückgabetyp in ihrer Deklaration extrahieren zu lassen. Dies ist nicht legal, aber das ist, was ich frage mich, wenn in einigen anderen Mitteln getan werden kann:
public interface <T> SomeRelatedInterface<D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
EDIT (beim Einstellen des Kopfgeldes): Was ich in dieser Frage suche, ist der Grund, warum die Sprache diese Verdoppelung erfordert. Das ist es, was in den Antworten bis jetzt gefehlt hat, um akzeptiert zu werden.