Ich habe Probleme mit der Methodenreferenz in Kombination mit generischen Typen.
Wir haben Code, in dem wir eine überladene Methode aufrufen müssen, aber sie schlägt mit einem Fehler fehl:
Wert m1 () kann nicht aufgelöst werden
Ich habe mein Problem vereinfacht, um klar zu machen, wo das Problem liegt.
Der folgende Code schlägt fehl:
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) {
}
}
Kann jemand bitte, warum sich das so verhält?
Bitte beachten Sie, dass dies nicht mit der Frage der Java 8-Methodenreferenz mit generischen Typen zusammenhängt