Java 泛型类扩展其他泛型类时出错

Java 泛型类扩展其他泛型类时出错,java,generics,Java,Generics,我对泛型类有一个问题,我将用我的示例类来解释它: 二叉树 public class BinaryTree<T extends Comparable<T>> { public class IndexedBinaryTree<T extends Indexed<? extends Comparable<Indexed<?>>>> extends BinaryTree<T> { 索引 public abstract

我对泛型类有一个问题,我将用我的示例类来解释它:

二叉树

public class BinaryTree<T extends Comparable<T>> {
public class IndexedBinaryTree<T extends Indexed<? extends Comparable<Indexed<?>>>> extends BinaryTree<T> {
索引

public abstract class Indexed<T extends Comparable<T>> implements Comparable<Indexed<T>> {
索引二叉树

public class BinaryTree<T extends Comparable<T>> {
public class IndexedBinaryTree<T extends Indexed<? extends Comparable<Indexed<?>>>> extends BinaryTree<T> {
扩展索引的示例类

public class Vokabel extends Indexed<String> {
IndexedBinaryTree不工作。我想做的是创建一个包含索引对象的二进制树,可以这样创建:

IndexedBinaryTree<Vokabel> ibt = new IndexedBinaryTree<>();
NetBeans给我的错误是:

类型参数?extends Comparable>不在的范围内 类型变量T 其中T是一个类型变量: T扩展了类索引中声明的可比性

> expected

type argument T#1 is not within bounds of type-variable T#2
  where T#1, T#2 are type-variables:
    T#1 extends Indexed<? extends Comparable<Indexed<?>>> declared in class IndexedBinaryTree
    T#2 extends Comparable<T#2> declared in class BinaryTree
这包括:

class BinaryTree<T extends Comparable<? super T>> {}
abstract class Indexed<T extends Comparable<? super T>> implements Comparable<Indexed<T>> {}
class IndexedBinaryTree<T extends Indexed<?>> extends BinaryTree<T> {}

你说不工作是什么意思?请提供详细信息。定义不起作用。发布错误以及预期的行为。编辑了错误的主要发布截图。我不理解这个声明:索引实现可比较。强迫T具有可比性的目的是什么,然后促使T在不同的东西上具有可比性?您可能需要类似于K扩展可比性,T扩展索引的东西。你被我上面的评论弄糊涂了。您似乎希望T被索引,并成为要索引的类型参数。