当前位置: 首页 > 知识库问答 >
问题:

如何使方法返回类包装泛型

芮星海
2023-03-14

类具有类似类型的方法(让我们称其为收集器)。我认为这些方法可以通过使其返回一个包装泛型值的类来实现。

这是示例代码

public class Collector {
    RestTemplate restTemplate = new RestTemplate();

    /*I want to make method like this without making the Collector Class with generic value */
    public APICallResultDto<T, V> collectData() {
        APICallResultDto<T, V> result = new APICallResultDto<>();

        /* boiler plate
        * (1) complete request url
        * (2) call api
        * (3) validate response
        * (4) transform data
        * */

        return result;
    }

此代码产生错误无法解析符号'T'

我知道我可以通过使用泛型值创建收集器类来解决这个问题。我希望Collector类是单例的,我是指bean。所以我不能这么做。

有办法吗?

共有1个答案

欧桐
2023-03-14

如果您添加,它将编译

public <T, V> APICallResultDto<T, V> collectData() {
    //...
}

参考:通用方法

 类似资料:
  • 现在我希望以泛型的方式使用这些类。 如何从方法“method1”和“method2”返回泛型类型(可以是猫或狗)。我有几个返回“T extends Animal”的方法,所以最好在方法级别或类级别中声明泛型类型。

  • 我得到了ClassCastException。我正在遵循这个答案,但没有得到正确的答案。将对象转换为通用类型以返回 BubbleSort.java MainPorgram.java 安慰 线程“main”Java . lang . classcastexception中出现异常:无法转换[ljava . lang . object;to [I at java.lang.Class.cast(未知来

  • 使用一个新建的包装类来替换一个方法的返回值, 这个类也可以是已存在的类. 操作步骤: 菜单栏: Refactor —> Wrap Return Value...

  • 问题内容: 背景 我曾经写过这种方法: 应该这样称呼它: 这很好用(尽管我在研究当前容易出错的问题时在这里的答案中已经看到)。 目前的情况 无论如何,现在我正在编写以下代码(在扩展javax.servlet.jsp.tagext.TagSupport的类中): 目的是可以这样称呼: 我的评估方法中的代码显然不起作用。的第二个参数应该是Class对象。这导致我: 我的问题 如何获得通用(返回)类型的

  • 我是scala的新手,如果您能帮助我解决以下问题,我将不胜感激。 我正在使用akka-http发送http请求我想声明一个泛型发送请求方法,它将使用Unmarshall的http响应主体转换为泛型类型。 我应该如何将Unmarshal响应强制转换为T??? 发送请求实现:

  • 这是我的场景,我有三节课。 这里translate方法返回动物对象,但我需要使用相同的方法返回狗和猫类型,而不需要进行类型转换。我知道我必须在这里使用泛型,但是我如何编辑translate方法来支持泛型,这样我就可以将类类型传递给它的参数,如果使用Cat参数调用它就返回Cat对象,如果使用动物参数调用它就返回动物对象,如果使用Dog参数调用它就返回Dog对象。 例如:-而不是 Cat newCat