私はちょうどJava Runnable
について学び始めたばかりで、Callable
について聞いたことがあります。しかし、私はこの問題を非常に苦労しています。私は引数として関数を取るメソッドを作るつもりです(coolNewFunction(() -> otherFunction(), 100)
または同様の簡単な方法で関数を呼び出すことができれば、Callable
、Runnable
、またはそれ以外のものであってもかまいません)。 otherFunction
の戻り値の配列を返します。別の与えられた関数のxとyの値を生成するメソッドを作る
coolNewFunction(() -> square(), 100)
そして、これは(すなわち{{1, 1}, {2, 4}, {3, 9}...}
)最初の100の番号とその四角形の配列を返します:たとえば、私は、その後の線に沿って何かを行うことができます機能
public static int square(int x){
return x * x;
}
を定義したと言います。今すぐバットをオフに私はsquare
は値を渡さなければならないので、lambda() -> square()
が動作しないことを知っています。私はsquare
の次の引数を持つ100 Runnable
の配列を作成しますが、まだ方法run()
は何も返しません。 長いストーリーは短いので、異なるx値でsquare
のような引数として与えられた別の関数を評価し、その評価の配列を返すメソッドの外観はどうでしょうか?また、新しいスレッドを開始したくないのですが、これが達成できる唯一の方法であれば問題ありません。最後に、私はsquare
(または他の)関数を特別な方法(好ましくは)で実装する必要はありません。
'Function'の代わりに 'IntUnaryOperator'を考慮すると、不必要なボクシングを避けることができます。 –
Tunaki