Java泛型类型的泛型类型

时间:2016-03-25 02:13:39

标签: java generics

我在Java中如何做到这一点

 class TreeNode<Item<K,V>> {

}

上面的代码无法编译。

1 个答案:

答案 0 :(得分:8)

您必须将KV声明为通用参数,并且必须声明要绑定到Item<K, V>的类型参数的名称。假设Item是预定义的泛型类型,您可以执行类似这样的操作,例如:

class TreeNode<K, V, X extends Item<K, V>> {
    ...
}

或许(并且更有可能)您不需要单独的类型参数X,只需将KV声明为类型参数:

class TreeNode<K, V> {
    private Item<K, V> mItem;
    ...
}