Я не уверен, что такое технический термин для этого, но рассмотрим интерфейс:
public interface SomeInterface<T> {
public T doSomething();
}
И затем второй интерфейс:
public interface SomeRelatedInterface<T, D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
Можно ли создать второй интерфейс, чтобы требовать только один общий параметр, а затем метод doSomethingRelated неявно извлекает возвращаемый тип в своем объявлении. Это не законно, но это то, что мне интересно, можно ли сделать другими способами:
public interface <T> SomeRelatedInterface<D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
EDIT (При публикации щедрости): В этот момент то, что я ищу по этому вопросу, является причиной того, что язык требует этого дублирования. Это то, что до сих пор отсутствовало в ответах, чтобы принять один из них.