代码之家  ›  专栏  ›  技术社区  ›  Yulin

类型参数可以是Java中的引用吗?

  •  0
  • Yulin  · 技术社区  · 7 年前

    我需要一种如下所示的方法:

    methodA(Class<? extends ClassA> clzz, Consumer<? extends ClassA> consumer) {
       //... AKKA message handler
       .match(clzz, s -> consumer.accept(s);)
    }
    

    这不会编译,我知道为什么,我想要的是:

    TypeParameter T = ? extends ClassA;
    methodA(Class<T> clzz, Consumer<T> consumer){//...}
    

    有办法做到这一点吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Andy Turner    7 年前

    你是说像这样的事吗?

    <T extends ClassA> methodA(Class<T> clzz, Consumer<T> consumer) {
       //... AKKA message handler
       .match(clzz, s -> consumer.accept(s);)
    }
    

    Consumer<? super T> )