Java泛型类型的泛型类型

标签 java generics

我如何在Java中实现这样的事情

 class TreeNode<Item<K,V>> {

}

上面的代码无法编译。

最佳答案

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

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

或者也许(更有可能)您不需要单独的类型参数 X只需要声明 KV作为类型参数:

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

关于Java泛型类型的泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213029/

相关文章:

java - 在非静态内部类中使用泛型

使用泛型时的 C# 构造函数问题

c# - 在 mvc4 中创建通用 mvc View

java - for循环不会迭代

java - ConcurrentHashMap 的 ConcurrentModificationException

java - 运行 Flutter 应用时出现 "Could not connect to the Gradle daemon"和 IP 地址问题

Java 泛型 hell

c++ - 使用仿函数作为谓词的 C++ STL 程序

java : upload files to HTTP server using POST, 服务器代码问题?

java - 无法在 java 替换方法中使用美元符号 ($)。它抛出运行时异常