-5

別のメソッドをパラメーターとして渡すメソッドを Java で作成しようとしています。

これは main でのメソッド呼び出しです。

    Functions.print("total",Functions.compute(scoreArray),Functions.find(scoreArray));

これまでのところ、メソッドシグネチャとしてこれを持っています:

    public void print(String str, ...)

compute メソッドと find メソッドは既に作成されています。それらをパラメータとして入力する方法がわかりません。

4

3 に答える 3

0

Java と JavaScript は、2 つの非常に異なる言語です。Java (現在) には関数型プログラミング機能がありません。メソッド (関数) はオブジェクトではないため、オブジェクトのように渡すことはできません。

于 2013-10-27T21:35:48.613 に答える
0

現在、Java ではできません (できますが、実際には遠回りです)。

コレクションを使用した関数型プログラミングを容易にするグアバ ライブラリがあります: https://code.google.com/p/guava-libraries/wiki/FunctionalExplained

于 2013-10-27T21:22:37.900 に答える
0

はい、直接ではありません。インターフェイスを作成します。

public interface MyFuncFromAToB{
    public SomeClass calculate(SomeOtherClass in);
}

そしてそれを受け入れます。

Java 8 では、Lambda を使用できるようになります。そのときは、同じインターフェイスを受け入れ続けてください (メソッドは1 つだけである必要があります)。そのシグネチャを持つラムダとメソッド ポインターを受け取ります。

于 2013-10-27T21:25:23.267 に答える