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

参数如何传入带泛型的 class

  •  
  •   CHEN1016 · 308 天前 via iPhone · 1314 次点击
    这是一个创建于 308 天前的主题,其中的信息可能已经有所发展或是发生改变。
    方法有个参数需要传入一个 class ,但是这个 class 也是带了泛型的,要怎么传入呢
    5 条回复    2023-06-30 22:23:34 +08:00
    wolfie
        1
    wolfie  
       308 天前
    public static <T, F> void method(Class<T> foo, Class<F> bar) {}
    XiaoXiaoMagician
        2
    XiaoXiaoMagician  
       308 天前
    直接贴代码片段或例子把,你的文字没办法呈现出你的具体问题。
    CHEN1016
        3
    CHEN1016  
    OP
       308 天前 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  
       308 天前 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  
       308 天前
    参数类型用 Object ,自己写代码转类型,Java 泛型功能不完善,不能依赖它的泛型检查。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2034 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:12 · PVG 09:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.