我需要一个像下面的方法:
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){//...}
有没有办法做到这一点?
你的意思是这样的?
<T extends ClassA> methodA(Class<T> clzz, Consumer<T> consumer) {
//... AKKA message handler
.match(clzz, s -> consumer.accept(s);)
}
(请注意,你可以把它更加灵活的使用Consumer<? super T>
)