2
Так что я интерфейс Foo построен как:Реализовать интерфейс, который расширяет сравнимой
public interface Foo<T extends Comparable<? super T>>
, и я пытаюсь выполнить Foo в моем классе бар как:
public class Bar<T> implements Foo<T>
, но я получаю ошибку type argument T#1 is not within bounds of type-variable T#2
но когда я пытаюсь реализовать Foo as:
public class Bar<T> implements Foo<T extends Comparable<? super T>>
я > expected
и <identifier> expected
О, боже, что это было ?! Вау, я буквально трачу и час, пытаясь это исправить. – Flameancer
... потому что в этом случае 'Bar' _declaring_' 'и просто передается как _parameter_ в' Foo'. Точно так же, как если вы объявляете переменную и передаете ее методу, тип объявления должен удовлетворять границам получателя, чтобы он мог скомпилировать. –