메소드 참조 에 문제가 있습니다.일반 유형과 결합 된 있습니다.
오버로드 된 메소드를 호출해야하는 코드가 있지만 오류로 실패합니다.
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 8 Method reference와 관련이 없습니다.
내가 방법 중 하나를 제거하면 그것은 잘 작동합니다
—
Joker
이 질문을 다시 열어 주셔서 감사합니다 ... :)
—
Joker