Java 泛型 : Return a Type of another Type

标签 java generics

这可能与这里的另一个问题重复,但我已经搜索过但找不到我想要的问题。如果有类似的问题,请指出我。

是否可以返回泛型的泛型?这就是我的意思:

public <T,K> T<K> myMethod(Class<T> classT, Class<K> classK) {
   //...method implementation
}

因此,如果我使用 ListInteger 调用此方法,应该会按如下方式工作:

List<Integer> listOfIntegers = myMethod(List.class, Integer.class);

最佳答案

您不能将类型参数用作通用类型。您正在寻找的是为您的 T 类型设置边界。

假设 T 用于这样的类型:

class GenericT<T> {}

您可以这样声明您的方法:

public <K, T extends GenericT<K>> T myMethod(Class<T> classT, Class<K> classK){
    //...
}

这使得 TGenericT 的实例以 K 作为类型参数。

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

相关文章:

java - 在 JPanel 上填充 JTextField

scala - 如何设计不同类型的(几乎)相同的(在 Scala 中)

来自键盘输入的 C++ 通用数据

java - 黑莓持久对象给出问题

java - Groovy 打印 Map<String,List<Map<String,String>>> 数据

Java RMI 不适用于多个服务器 - 安全

swift - 具有泛型和特化的协议(protocol)

c# - 如何在不知道类型的情况下实例化通用列表

java - 整数参数不同,但比较时结果仍然是对象相等?我哪里做错了?

java - 当所有节点都是模拟时,如何使用 EasyMock 测试 "tree of calls"?