私はここ数か月からJava 8を使用しており、ラムダについて頭を悩ませようとしています。コンサートについてはかなり理解しています。しかし、ラムダ呼び出しとしてのカスタム機能インターフェイスの実行に苦労しています。
Java Bifuctional インターフェイス実装を作成する場合
BiFunction<t1,t2,R> trade = (t1, t2) -> {
// calling another method for merger
return t1,t2;
};
以下のようにラムダと呼ぶことはできますか?
(a, b)-> trade:
または、execute メソッドを作成する必要がありますか?
private int execute(BiFunction<t1,t2,R> trade, int a, int b){
return trade.apply(a, b)
}
ラムダを呼び出すコードの例を次に示します。
BiFunction<t1,t2,R> trade = (t1, t2) -> {
// calling another method for merger return t1+t2;
};
public static void main(String[] args) {
execute(trade , 1, 2);
}
private int execute(BiFunction<t1,t2,R> trade, int a, int b) {
return trade.apply(a, b);
}
なぜコンパイラがこれを理解できないのか不思議です
public static void main(String[] args) { int i= (1,2) -> trade; }