問題タブ [method-reference]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
217 参照

java - Java での Func プログラミング。Method-ref は Function apply シグネチャと一致しませんが、正常に実行されます

私は現在、Venkat Subramaniam による Java での関数型プログラミングを読んでいますが、これまでのところ素晴らしい読み物です。

ただし、特定の例があり、混乱を引き起こしています。以下のコード例には、 というメソッドがありsetFilters(final Function<Color,Color>... filters)ます。

これは、Function インターフェイスを実装するリストを想定しています。コードでは、メソッド参照を使用して setFilters が呼び出されます ... camera.setFilters(Color::lighter, Color::darker);.

Color クラスは Function インターフェイスを実装しておらず、R apply(T t);署名に一致するメソッドも持っていないため、これは混乱を招きます。

ここで明らかなことを見逃しましたか?Color::darker誰かが期待するパラメータにetcを渡す方法を説明してもらえますかFunction<Color,Color>

完全なコード例は次のとおりです。

0 投票する
0 に答える
191 参照

java - java8ラムダで値を型キャストする省略形はありますか

現在、私は次のようにしています:

これの省略形はありますか

0 投票する
7 に答える
9889 参照

java - 関数を結合するための Function オブジェクトとして使用される Java8 メソッド参照

Java8でメソッド参照をFunctionオブジェクトとして使用してそのメソッドを使用する方法はありますか?

この質問は とは関係ありませんStream。例として使用されています。メソッド リファレンスについて回答をお願いします。

0 投票する
5 に答える
3458 参照

java - Java でメソッド参照を渡し、呼び出す方法

というクラスがありServer、他の人がそれを書くことを許可したいとしましょうPlugins。単一のメソッドPluginを拡張Runnableおよび追加するインターフェースであるとします: void init(...). データを収集してサーバーに送信するのはプラグインの仕事です。しかし、サーバーにデータを送信するときが来たら、どのようにこれを行うのでしょうか? C および C++ から来て、関数ポインターの線に沿った考え方を探しています。Java標準クラスライブラリ以外の例は見つかりませんでしたが、Javaでは可能のようです。

メソッド参照をメソッドに渡しinitPluginプラグインがデータを送信したいときにいつでもメソッドを呼び出すにはどうすればよいですか? 今のところ、必要なサーバー メソッドは次のとおりvoid sendData(Integer data)です。

例えば:

0 投票する
2 に答える
386 参照

java - ストリーム操作でのメソッド参照と関数オブジェクトの使用の違いは?

Java 8 ストリームを使用していると、複数ステートメントのラムダ式をリファクタリングする必要があることがよくあります。これを簡単な例で説明します。次のコードを書き始めたとします。

今、私はmap呼び出しの大きなラムダ式があまり好きではありません。したがって、そこからリファクタリングしたいと思います。Functionクラスでのインスタンスを作成するか、2 つのオプションが表示されます。

次のように使用します。

または、単にメソッドを作成します。

メソッド参照を使用します。

明らかな好みの問題は別として、どちらのアプローチにも利点や欠点はありますか?

たとえば、メソッド参照の場合、スタック トレースが読みやすくなることはわかっていますが、これは小さな利点です。