Estoy enfrentando un problema con la referencia de método combinada con tipos genéricos.
Tenemos un código donde necesitamos llamar a un método sobrecargado, pero falla con un error:
No se puede resolver el valor m1 ()
He simplificado mi problema para aclarar dónde está el problema.
El siguiente código falla:
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) {
}
}
¿Alguien puede por qué esto se comporta así?
Tenga en cuenta que esto no está relacionado con la pregunta Java 8 Método de referencia con tipos genéricos