V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CHEN1016
V2EX  ›  Java

参数如何传入带泛型的 class

  •  
  •   CHEN1016 · 2023-06-30 18:23:49 +08:00 via iPhone · 1457 次点击
    这是一个创建于 512 天前的主题,其中的信息可能已经有所发展或是发生改变。
    方法有个参数需要传入一个 class ,但是这个 class 也是带了泛型的,要怎么传入呢
    5 条回复    2023-06-30 22:23:34 +08:00
    wolfie
        1
    wolfie  
       2023-06-30 18:30:24 +08:00
    public static <T, F> void method(Class<T> foo, Class<F> bar) {}
    XiaoXiaoMagician
        2
    XiaoXiaoMagician  
       2023-06-30 18:32:25 +08:00
    直接贴代码片段或例子把,你的文字没办法呈现出你的具体问题。
    CHEN1016
        3
    CHEN1016  
    OP
       2023-06-30 19:43:38 +08:00 via iPhone
    @XiaoXiaoMagician <T> ResponseEntity<T>
    exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Map<String,?> uriVariables)比如这个 resttemplate 的一个方法,responseType 要传一个 class ,但是我想返回的类是带泛型的
    mmdsun
        4
    mmdsun  
       2023-06-30 20:27:44 +08:00 via iPhone
    你发的代码是 Spring 的?是不是这种? ParameterizedTypeReference 是 Spring 的类,处理泛型擦除的

    ResponseEntity<List<MyClass>> responseEntity = restTemplate.exchange(
    url,
    HttpMethod.GET,
    null,
    new ParameterizedTypeReference<List<MyClass>>() {}
    );
    List<MyClass> myObjects = responseEntity.getBody();
    x77
        5
    x77  
       2023-06-30 22:23:34 +08:00
    参数类型用 Object ,自己写代码转类型,Java 泛型功能不完善,不能依赖它的泛型检查。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2515 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:47 · PVG 23:47 · LAX 07:47 · JFK 10:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.