【发布时间】:2020-04-06 16:51:34
【问题描述】:
我遇到了方法引用与泛型类型结合的问题。
我们有代码需要调用重载方法,但它失败并出现错误:
无法解析值 m1()
我已经简化了我的问题,以明确问题所在。
以下代码失败:
public class Test {
void test() {
// Getting error here
setValue(C1::m1, Integer.ONE);
}
<E extends I1, T> void setValue(BiConsumer<E, T> cons, T value) {
}
}
interface I1 {
}
class C1 implements I1 {
void m1(Integer value) {
}
void m1(int value) {
}
}
有人能请教一下为什么会这样吗?
【问题讨论】:
-
不,如果我删除其中一种方法它工作正常,那么
-
感谢您再次提出这个问题... :)
标签: java generics lambda java-8