类型参数可以是Java中的引用吗?
Can the type parameter be a reference in Java?
我需要如下方法:
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>
使其更加灵活)
我需要如下方法:
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>
使其更加灵活)