ジェネリック型と組み合わせたメソッド参照に関する問題に直面しています。
オーバーロードされたメソッドを呼び出す必要があるコードがありますが、エラーで失敗します:
値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メソッドリファレンスの質問とは関係ありません。
いいえ、それが正常に機能しているメソッドの1つを削除した場合
—
Joker
この質問をもう一度開いてくれてありがとう... :)
—
Joker