injoy:
私はクラスのメソッドAとBを持っていると仮定します。
List<String> A(int start, int size);
List<String> B(int start, int size);
今、私はAまたはB使用することがあります別の機能を持っていますが、それらを呼び出す前に、私が最初にいくつかのロジックをやります。
void C() {
// lots of logic here
invoke A or B
// lots of logic here
}
私はC、のようなもののパラメータとして、方法AまたはBを通過したいです:
void C(Function<> function) {
// lots of logic here
invoke function (A or B)
// lots of logic here
}
しかし、私はJavaでFunctionクラスは一つのパラメータのみ受け付け(方法AまたはBを両方2つのパラメータを持っている)ことができることに気づきました。この上の回避策はありますか?(私は方法AまたはBの署名を変更する必要はありません)。
Ousmane D .:
BiFunction
あなたはそれに見てみたいことがありますので、二つの引数を受け入れ、結果を生成する機能を表してここに。