Java模板如何返回带有模板类型的函数参数类类型实例

国家安全局

我有这样的模板类。Msg是已知的类型

class ResultSet<T extends Msg>
{
}

然后在我的应用程序类中,我想要这样的功能。

class App
{
      public ResultSet<? extends Msg> getResult(Class<? extends Msg> cls)
     {
         return new ResultSet();
     }
}

我有消息类消息说

class HelloMsg extends Msg
{
  String greeting = null;
}

但我不能使用getResult函数

ResultSet<HelloMsg> rs = getResult(HelloMsg.class);

错误是:不兼容类型:ResultSet...。

请根据需要更正标题。

国家安全局

我才找到答案。

class App
{
      public <T extends Msg> ResultSet<T> getResult(Class<T> cls)
     {
         return new ResultSet();
     }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使模板推导带有可变参数的函数的返回类型

在C ++中的模板实例化中将带有构造函数的类用作类型参数

问:带有常规类型或模板模板参数的模板类

模板参数类的函数调用的返回类型

如何检查类型是否从模板函数中的某个可变参数模板类实例化?

具有先前模板参数类型的自动返回类型参数的函数类型的模板参数

从函数返回类型推断模板参数类型

C ++:如何在可变参数模板参数上调用带有类型参数的函数?

具有不同模板参数的函数返回类型

模板函数在编译时返回类型没有参数

如何确保迭代器模板参数与模板类的模板参数具有相同的数据类型

如果模板参数不允许实例化某个类,如何编写带有触发回退的模板重载函数

如何确定从类模板继承的模板参数的基础模板类型?

模板类中模板类的函数返回类型

C ++类模板作为函数返回类型

使用函数的返回类型和参数类型作为模板类型

让函数返回模板类型

如何使用模板模板参数类型的引用类型模板参数定义类模板

如何在类外的签名中使用模板参数的嵌套类型定义模板类函数

带有构造函数参数的模板类

函数模板中返回类型的模板参数推导

模板化函数模板参数的返回类型

C ++模板函数根据模板参数返回类型

将带有可选模板类型参数的函数传递给类构造函数,并将其分配给方法

“使用类模板需要模板参数”错误,并带有默认指定的非类型模板参数值

如何判断模板类型是否是模板类的实例?

C ++:将lambda作为带有模板参数的函数进行传递会使推导模板类型失败

如何获取模板参数方法的返回类型?

如何检查模板类方法的返回类型?