Об ошибке при использовании Java generics: "type parameter S is not within its bound"

Я пишу несколько классов, используя Generics, но не могу найти решение для класса SolutionsSubset и поэтому получаю ошибку "type parameter S is not within its bound". Я прочитал предыдущие вопросы об этой же ошибке, но не могу решить ее для своего случая. Может ли кто-нибудь помочь мне улучшить мои знания о дженериках? Любой ссылка на хорошую книгу (я могу найти в google много информации но если кто-то может порекомендовать книгу, учебник и т.д., буду рад). Хотя я старался не забывать о правилах, чтобы задать вопрос, но я прошу прощения, если мой вопрос не соответствует этим правилам.

У меня есть следующие классы и интерфейсы:



public interface Subset<T extends Comparable<T>> extends Comparable<Subset<T>>
public class MathSubset<T extends Comparable<T>> extends TreeSet<T> implements Subset<T>

public interface Solution<T extends Comparable<T>>

public interface Solutions<S extends Solution<?>> extends Iterable<S>
public class SolutionsSubset<S extends Solution<?>> extends MathSubset<S> implements Solutions<S>


Мне нужно, чтобы Subset расширял Comparable. В SolutionsSubset класс MathSubset хранит объекты Solution. Как я должен изменить эти определения, чтобы все заработало?

Заранее спасибо

9
задан Richard J. Ross III 16 March 2013 в 14:00
поделиться