Saya menghadapi masalah dengan referensi metode yang dikombinasikan dengan tipe generik.
Kami memiliki kode tempat kami perlu memanggil metode kelebihan beban, tetapi gagal dengan kesalahan:
Tidak dapat menyelesaikan nilai m1 ()
Saya telah menyederhanakan masalah saya untuk memperjelas di mana masalahnya.
Kode berikut gagal:
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) {
}
}
Bisakah seseorang tolong mengapa ini berperilaku seperti ini?
Mohon diperhatikan bahwa ini tidak terkait dengan pertanyaan referensi Metode Java 8 dengan tipe generik