2017-05-21 11 views
1

私は解決したい問題がありますが、まだそれを行う知識はありません。任意のメソッドをパラメータリストに挿入しますか?

いつでも任意のメソッドをパラメータリストに入れることはできますか?例については

public void goThroughArray(anyMethod()){ 
for (int i = 0; i<array.length;i++){ 
    anyMethod(); 
} 

public int[] copyArray(int[]arrayName2){ 
arrayName1[i] = arrayName2[i]; 
} 

//in main 
goThroughArray(copyArray(int[]arrayName); 

が可能ということですか?

+1

ラムダは、あなたが探しているものに近いだろう。 –

+3

[Java Pass Method as Parameter]の複製が可能です(http://stackoverflow.com/questions/2186931/java-pass-method-as-parameter) –

答えて

1

あなたはJavaの8(1.8)を使用している場合は、[はい、それは可能であるJavaの8内の他のメソッドのパラメータとしてFunction<T, R>

public void goThroughArray(Function<int[], int[]> myFunction){ 
    int[] resultArray = myFunction.apply(anyArray); 
} 
0

を渡すことができます。

interface Function<T,R>を使用すると、何でも達成できます。オラクルから

型パラメータ:

T - 関数への入力の種類

R - 機能

すべての既知の結果の型サブインターフェイス: UnaryOperator

機能インターフェイス:

これは機能的なインターフェイスであるため、ラムダ式またはメソッド参照の割り当て対象として使用できます。

はこちらをご覧ください:

関連する問題