在不拘泥于细节的情况下,我的代码代表了一个库,其中每本书都由一组包含一组单词的页面组成。
我创建了自己的 Set 实现:
class PageSet<E> extends HashSet<E>(){
public boolean set(int index, E e){....}
....
}
和
class WordSet<E> extends HashSet<E>(){
public boolean set(int index, E e){....}
....
}
当我尝试在我的主类中创建一本书时,我遇到了困难:
Set<Set<Word>> dictionary = new PageSet<WordSet<Word>>();
这导致类型转换不匹配。但是它会很高兴地接受
Set<Set<Word>> dictionary = new PageSet<Set<Word>>();
在使用这样的通用设置时,有人可以说明我做错了什么吗?