Назначьте подкласс универсального класса суперклассу этого класса
У меня есть пара предоставленных интерфейсов
public interface Finder<S extends Stack<T>,T extends Item> {
public S find(S s, int a);
}
public interface Stack<T extends Item> {
Stack<T> getCopy();
}
и класс, который реализует первый:
public class SimpleFinder<S extends Stack<T>,T extends Item> implements Finder<S,T>{
public S find(S s, int a){
S stack = ....;
...
stack = s.getCopy(); \\Error: incompatible types
\\ required: S
\\ found: Stack<T>
.....
return stack;
}
}
Если я не могу изменить какой-либо интерфейс, каков будет наилучший курс действий при сохранении реализации как можно более общей?
РЕДАКТИРОВАТЬ Какой-то другой код, который я не могу сломатьSimpleFinder<ClassA,ClassB>
поэтому у меня должно быть два общих типа в реализации.